Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java331
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;
- }
- }
-}

Back to the top