Class NodeVector

java.lang.Object
org.apache.xml.utils.NodeVector
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
NodeSetDTM

public class NodeVector extends Object implements Serializable, Cloneable
A very simple table that stores a list of Nodes.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    NodeVector(int blocksize)
    Construct a NodeVector, using the given block size.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addElement(int value)
    Append a Node onto the vector.
    void
    Append the nodes to the list.
    Get a cloned LocPathIterator.
    boolean
    contains(int s)
    Tell if the table contains the given node.
    int
    elementAt(int i)
    Get the nth element.
    int
    indexOf(int elem)
    Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
    int
    indexOf(int elem, int index)
    Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
    void
    insertElementAt(int value, int at)
    Inserts the specified node in this vector at the specified index.
    void
    insertInOrder(int value)
    Insert a node in order in the list.
    final int
    Return the node at the top of the stack without popping the stack.
    final int
    Return the node at the tail of the vector without popping Special purpose method for TransformerImpl, pushElemTemplateElement.
    final int
    Return the node one position from the tail without popping.
    final int
    pop()
    Pop a node from the tail of the vector and return the result.
    final int
    Pop a node from the tail of the vector and return the top of the stack after the pop.
    final void
    Pop a pair of nodes from the tail of the stack.
    final void
    Pop a node from the tail of the vector.
    final void
    push(int value)
    Append a Node onto the vector.
    final void
    pushPair(int v1, int v2)
    Push a pair of nodes into the stack.
    void
    Inserts the specified node in this vector at the specified index.
    void
    Set the length to zero, but don't clear the array.
    boolean
    Removes the first occurrence of the argument from this vector.
    void
    Deletes the component at the specified index.
    void
    setElementAt(int node, int index)
    Sets the component at the specified index of this vector to be the specified object.
    final void
    setTail(int n)
    Set the tail of the stack to the given node.
    final void
    setTailSub1(int n)
    Set the given node one position from the tail.
    int
    Get the length of the list.
    void
    Sort an array using a quicksort algorithm.
    void
    sort(int[] a, int lo0, int hi0)
    Sort an array using a quicksort algorithm.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NodeVector

      public NodeVector()
      Default constructor.
    • NodeVector

      public NodeVector(int blocksize)
      Construct a NodeVector, using the given block size.
      Parameters:
      blocksize - Size of blocks to allocate
  • Method Details

    • clone

      public Object clone() throws CloneNotSupportedException
      Get a cloned LocPathIterator.
      Returns:
      A clone of this
      Throws:
      CloneNotSupportedException
    • size

      public int size()
      Get the length of the list.
      Returns:
      Number of nodes in this NodeVector
    • addElement

      public void addElement(int value)
      Append a Node onto the vector.
      Parameters:
      value - Node to add to the vector
    • push

      public final void push(int value)
      Append a Node onto the vector.
      Parameters:
      value - Node to add to the vector
    • pop

      public final int pop()
      Pop a node from the tail of the vector and return the result.
      Returns:
      the node at the tail of the vector
    • popAndTop

      public final int popAndTop()
      Pop a node from the tail of the vector and return the top of the stack after the pop.
      Returns:
      The top of the stack after it's been popped
    • popQuick

      public final void popQuick()
      Pop a node from the tail of the vector.
    • peepOrNull

      public final int peepOrNull()
      Return the node at the top of the stack without popping the stack. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Returns:
      Node at the top of the stack or null if stack is empty.
    • pushPair

      public final void pushPair(int v1, int v2)
      Push a pair of nodes into the stack. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Parameters:
      v1 - First node to add to vector
      v2 - Second node to add to vector
    • popPair

      public final void popPair()
      Pop a pair of nodes from the tail of the stack. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
    • setTail

      public final void setTail(int n)
      Set the tail of the stack to the given node. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Parameters:
      n - Node to set at the tail of vector
    • setTailSub1

      public final void setTailSub1(int n)
      Set the given node one position from the tail. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Parameters:
      n - Node to set
    • peepTail

      public final int peepTail()
      Return the node at the tail of the vector without popping Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Returns:
      Node at the tail of the vector
    • peepTailSub1

      public final int peepTailSub1()
      Return the node one position from the tail without popping. Special purpose method for TransformerImpl, pushElemTemplateElement. Performance critical.
      Returns:
      Node one away from the tail
    • insertInOrder

      public void insertInOrder(int value)
      Insert a node in order in the list.
      Parameters:
      value - Node to insert
    • insertElementAt

      public void insertElementAt(int value, int at)
      Inserts the specified node in this vector at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.
      Parameters:
      value - Node to insert
      at - Position where to insert
    • appendNodes

      public void appendNodes(NodeVector nodes)
      Append the nodes to the list.
      Parameters:
      nodes - NodeVector to append to this list
    • removeAllElements

      public void removeAllElements()
      Inserts the specified node in this vector at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.
    • RemoveAllNoClear

      public void RemoveAllNoClear()
      Set the length to zero, but don't clear the array.
    • removeElement

      public boolean removeElement(int s)
      Removes the first occurrence of the argument from this vector. If the object is found in this vector, each component in the vector with an index greater or equal to the object's index is shifted downward to have an index one smaller than the value it had previously.
      Parameters:
      s - Node to remove from the list
      Returns:
      True if the node was successfully removed
    • removeElementAt

      public void removeElementAt(int i)
      Deletes the component at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted downward to have an index one smaller than the value it had previously.
      Parameters:
      i - Index of node to remove
    • setElementAt

      public void setElementAt(int node, int index)
      Sets the component at the specified index of this vector to be the specified object. The previous component at that position is discarded. The index must be a value greater than or equal to 0 and less than the current size of the vector.
      Parameters:
      node - Node to set
      index - Index of where to set the node
    • elementAt

      public int elementAt(int i)
      Get the nth element.
      Parameters:
      i - Index of node to get
      Returns:
      Node at specified index
    • contains

      public boolean contains(int s)
      Tell if the table contains the given node.
      Parameters:
      s - Node to look for
      Returns:
      True if the given node was found.
    • indexOf

      public int indexOf(int elem, int index)
      Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
      Parameters:
      elem - Node to look for
      index - Index of where to start the search
      Returns:
      the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.
    • indexOf

      public int indexOf(int elem)
      Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
      Parameters:
      elem - Node to look for
      Returns:
      the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.
    • sort

      public void sort(int[] a, int lo0, int hi0) throws Exception
      Sort an array using a quicksort algorithm.
      Parameters:
      a - The array to be sorted.
      lo0 - The low index.
      hi0 - The high index.
      Throws:
      Exception
    • sort

      public void sort() throws Exception
      Sort an array using a quicksort algorithm.
      Throws:
      Exception