diff options
Diffstat (limited to 'examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java')
-rw-r--r-- | examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java | 331 |
1 files changed, 0 insertions, 331 deletions
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java deleted file mode 100644 index 8963a8fb0..000000000 --- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java +++ /dev/null @@ -1,331 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.compare.examples.xml; - -import org.xml.sax.Attributes; - -/** - * An Attributes implementation that can perform more operations - * than the attribute list helper supplied with the standard SAX2 - * distribution. - */ -public class AttributesImpl implements Attributes { - - /** Head node. */ - private ListNode fHead; - - /** Tail node. */ - private ListNode fTail; - - /** Length. */ - private int fLength; - - - /* Returns the number of attributes. */ - public int getLength() { - return fLength; - } - - /* Returns the index of the specified attribute. */ - public int getIndex(String raw) { - ListNode place= fHead; - int index= 0; - while (place != null) { - if (place.raw.equals(raw)) { - return index; - } - index++; - place= place.next; - } - return -1; - } - - /* Returns the index of the specified attribute. */ - public int getIndex(String uri, String local) { - ListNode place= fHead; - int index= 0; - while (place != null) { - if (place.uri.equals(uri) && place.local.equals(local)) { - return index; - } - index++; - place= place.next; - } - return -1; - } - - /* Returns the attribute URI by index. */ - public String getURI(int index) { - - ListNode node= getListNodeAt(index); - return node != null ? node.uri : null; - } - - /* Returns the attribute local name by index. */ - public String getLocalName(int index) { - - ListNode node= getListNodeAt(index); - return node != null ? node.local : null; - } - - /* Returns the attribute raw name by index. */ - public String getQName(int index) { - - ListNode node= getListNodeAt(index); - return node != null ? node.raw : null; - - } - - /* Returns the attribute type by index. */ - public String getType(int index) { - - ListNode node= getListNodeAt(index); - return (node != null) ? node.type : null; - } - - /* Returns the attribute type by uri and local. */ - public String getType(String uri, String local) { - - ListNode node= getListNode(uri, local); - return (node != null) ? node.type : null; - - } - - /* Returns the attribute type by raw name. */ - public String getType(String raw) { - - ListNode node= getListNode(raw); - return (node != null) ? node.type : null; - } - - /* Returns the attribute value by index. */ - public String getValue(int index) { - - ListNode node= getListNodeAt(index); - return (node != null) ? node.value : null; - } - - /* Returns the attribute value by uri and local. */ - public String getValue(String uri, String local) { - - ListNode node= getListNode(uri, local); - return (node != null) ? node.value : null; - } - - /* Returns the attribute value by raw name. */ - public String getValue(String raw) { - - ListNode node= getListNode(raw); - return (node != null) ? node.value : null; - } - - /* Adds an attribute. */ - public void addAttribute(String raw, String type, String value) { - addAttribute(null, null, raw, type, value); - } - - /* Adds an attribute. */ - public void addAttribute( - String uri, - String local, - String raw, - String type, - String value) { - - ListNode node= new ListNode(uri, local, raw, type, value); - if (fLength == 0) { - fHead= node; - } else { - fTail.next= node; - } - fTail= node; - fLength++; - } - - /* Inserts an attribute. */ - public void insertAttributeAt( - int index, - String raw, - String type, - String value) { - insertAttributeAt(index, null, null, raw, type, value); - } - - /* Inserts an attribute. */ - public void insertAttributeAt( - int index, - String uri, - String local, - String raw, - String type, - String value) { - - // if list is empty, add attribute - if (fLength == 0 || index >= fLength) { - addAttribute(uri, local, raw, type, value); - return; - } - - // insert at beginning of list - ListNode node= new ListNode(uri, local, raw, type, value); - if (index < 1) { - node.next= fHead; - fHead= node; - } else { - ListNode prev= getListNodeAt(index - 1); - node.next= prev.next; - prev.next= node; - } - fLength++; - } - - /* Removes an attribute. */ - public void removeAttributeAt(int index) { - - if (fLength == 0) - return; - - if (index == 0) { - fHead= fHead.next; - if (fHead == null) { - fTail= null; - } - fLength--; - } else { - ListNode prev= getListNodeAt(index - 1); - ListNode node= getListNodeAt(index); - if (node != null) { - prev.next= node.next; - if (node == fTail) { - fTail= prev; - } - fLength--; - } - } - } - - /* Removes the specified attribute. */ - public void removeAttribute(String raw) { - removeAttributeAt(getIndex(raw)); - } - - /* Removes the specified attribute. */ - public void removeAttribute(String uri, String local) { - removeAttributeAt(getIndex(uri, local)); - } - - /* Returns the node at the specified index. */ - private ListNode getListNodeAt(int i) { - - for (ListNode place= fHead; place != null; place= place.next) { - if (--i == -1) { - return place; - } - } - return null; - } - - /* Returns the first node with the specified uri and local. */ - public ListNode getListNode(String uri, String local) { - - if (uri != null && local != null) { - ListNode place= fHead; - while (place != null) { - if (place.uri != null - && place.local != null - && place.uri.equals(uri) - && place.local.equals(local)) { - return place; - } - place= place.next; - } - } - return null; - } - - /* Returns the first node with the specified raw name. */ - private ListNode getListNode(String raw) { - - if (raw != null) { - for (ListNode place= fHead; place != null; place= place.next) { - if (place.raw != null && place.raw.equals(raw)) { - return place; - } - } - } - - return null; - } - - /* Returns a string representation of this object. */ - public String toString() { - StringBuffer str= new StringBuffer(); - - str.append('['); - str.append("len="); //$NON-NLS-1$ - str.append(fLength); - str.append(", {"); //$NON-NLS-1$ - for (ListNode place= fHead; place != null; place= place.next) { - str.append(place.toString()); - if (place.next != null) { - str.append(", "); //$NON-NLS-1$ - } - } - str.append("}]"); //$NON-NLS-1$ - - return str.toString(); - } - - /* - * An attribute node. - */ - static class ListNode { - - /** Attribute uri. */ - public String uri; - - /** Attribute local. */ - public String local; - - /** Attribute raw. */ - public String raw; - - /** Attribute type. */ - public String type; - - /** Attribute value. */ - public String value; - - /** Next node. */ - public ListNode next; - - /* Constructs a list node. */ - public ListNode( - String uri0, - String local0, - String raw0, - String type0, - String value0) { - - this.uri= uri0; - this.local= local0; - this.raw= raw0; - this.type= type0; - this.value= value0; - - } - - /* Returns string representation of this object. */ - public String toString() { - return raw != null ? raw : local; - } - } -} |