Package nu.xom

Class Nodes

java.lang.Object
nu.xom.Nodes
All Implemented Interfaces:
Iterable<Node>

public final class Nodes extends Object implements Iterable<Node>

Implements a list of nodes for traversal purposes. Changes to the document from which this list was generated are not reflected in this list, nor are changes to the list reflected in the document. Changes to the individual Node objects in the list and the document are reflected in the other one.

There is no requirement that the list not contain duplicates, or that all the members come from the same document. It is simply a list of nodes.

Version:
1.3.0
Author:
Elliotte Rusty Harold
  • Constructor Details

    • Nodes

      public Nodes()

      Creates an empty node list.

    • Nodes

      public Nodes(Node node)

      Creates a node list containing a single node.

      Parameters:
      node - the node to insert in the list
      Throws:
      NullPointerException - if node is null
  • Method Details

    • size

      public int size()

      Returns the number of nodes in the list. This is guaranteed to be non-negative.

      Returns:
      the number of nodes in the list
    • get

      public Node get(int index)

      Returns the indexth node in the list. The first node has index 0. The last node has index size()-1.

      Parameters:
      index - the node to return
      Returns:
      the node at the specified position
      Throws:
      IndexOutOfBoundsException - if index is negative or greater than or equal to the size of the list
    • remove

      public Node remove(int index)

      Removes the indexthnode in the list. Subsequent nodes have their indexes reduced by one.

      Parameters:
      index - the node to remove
      Returns:
      the node at the specified position
    • insert

      public void insert(Node node, int index)

      Inserts a node at the indexth position in the list. Subsequent nodes have their indexes increased by one.

      Parameters:
      node - the node to insert
      index - the position at which to insert the node
      Throws:
      IndexOutOfBoundsException - if index is negative or strictly greater than the size of the list
      NullPointerException - if node is null
    • append

      public void append(Node node)

      Adds a node at the end of this list.

      Parameters:
      node - the node to add to the list
      Throws:
      NullPointerException - if node is null
    • contains

      public boolean contains(Node node)

      Determines whether a node is contained in this list.

      Parameters:
      node - the node to search for
      Returns:
      true if this list contains the specified node; false otherwise
    • iterator

      public Iterator<Node> iterator()
      Specified by:
      iterator in interface Iterable<Node>