NodeList (Velocity 1.4 API)
Keywords: org.apache.velocity.anakia.NodeList class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.velocity.anakia
Class NodeList

    java.lang.Object
      org.apache.velocity.anakia.NodeList

All Implemented Interfaces:
  java.lang.Cloneable, java.util.Collection, java.util.List

public class NodeList
extends java.lang.Object
implements java.util.List, java.lang.Cloneable

Provides a class for wrapping a list of JDOM objects primarily for use in template engines and other kinds of text transformation tools. It has a `toString()` method that will output the XML serialized form of the nodes it contains - again focusing on template engine usage, as well as the `selectNodes(String)` method that helps selecting a different set of nodes starting from the nodes in this list. The class also implements the `List` interface by simply delegating calls to the contained list (the `subList(int, int)` method is implemented by delegating to the contained list and wrapping the returned sublist into a `NodeList`).

Version:
  $Id: NodeList.java,v 1.2.4.1 2004/03/03 23:22:04 geirm Exp $
Author:
  Attila Szegedi

Nested Class Summary
`private static class` | `NodeList.AttributeXMLOutputter` A special subclass of XMLOutputter that will be used to output Attribute nodes.

Field Summary
`private static NodeList.AttributeXMLOutputter` | `DEFAULT_OUTPUTTER`
`private java.util.List` | `nodes` The contained nodes

Constructor Summary
`` | `NodeList()` Creates an empty node list.
`` | `NodeList(org.jdom.Document document)` Creates a node list that holds a single `Document` node.
`` | `NodeList(org.jdom.Element element)` Creates a node list that holds a single `Element` node.
`` | `NodeList(java.util.List nodes)` Creates a node list that holds a list of nodes.
`` | `NodeList(java.util.List nodes, boolean copy)` Creates a node list that holds a list of nodes.
`private` | `NodeList(java.lang.Object object)`

Method Summary
`void` | `add(int index, java.lang.Object o)`
`boolean` | `add(java.lang.Object o)`
`boolean` | `addAll(java.util.Collection c)`
`boolean` | `addAll(int index, java.util.Collection c)`
`void` | `clear()`
`java.lang.Object` | `clone()` Returns a NodeList that contains the same nodes as this node list.
`private void` | `cloneNodes()`
`boolean` | `contains(java.lang.Object o)`
`boolean` | `containsAll(java.util.Collection c)`
`boolean` | `equals(java.lang.Object o)` Tests for equality with another object.
`java.lang.Object` | `get(int index)`
`java.util.List` | `getList()` Retrieves the underlying list used to store the nodes.
`int` | `hashCode()` Returns the hash code of the contained list.
`int` | `indexOf(java.lang.Object o)`
`boolean` | `isEmpty()`
`java.util.Iterator` | `iterator()`
`int` | `lastIndexOf(java.lang.Object o)`
`java.util.ListIterator` | `listIterator()`
`java.util.ListIterator` | `listIterator(int index)`
`java.lang.Object` | `remove(int index)`
`boolean` | `remove(java.lang.Object o)`
`boolean` | `removeAll(java.util.Collection c)`
`boolean` | `retainAll(java.util.Collection c)`
`NodeList` | `selectNodes(java.lang.String xpathString)` Applies an XPath expression to the node list and returns the resulting node list.
`java.lang.Object` | `set(int index, java.lang.Object o)`
`int` | `size()`
`java.util.List` | `subList(int fromIndex, int toIndex)`
`java.lang.Object[]` | `toArray()`
`java.lang.Object[]` | `toArray(java.lang.Object[] a)`
`java.lang.String` | `toString()` This method returns the string resulting from concatenation of string representations of its nodes.

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### DEFAULT_OUTPUTTER

    private static final NodeList.AttributeXMLOutputter DEFAULT_OUTPUTTER

### nodes

    private java.util.List nodes

  The contained nodes

Constructor Detail

### NodeList

    public NodeList()

  Creates an empty node list.

### NodeList

    public NodeList(org.jdom.Document document)

  Creates a node list that holds a single `Document` node.

### NodeList

    public NodeList(org.jdom.Element element)

  Creates a node list that holds a single `Element` node.

### NodeList

    private NodeList(java.lang.Object object)

### NodeList

    public NodeList(java.util.List nodes)

  Creates a node list that holds a list of nodes.

Parameters:
  `nodes` - the list of nodes this template should hold. The created template will copy the passed nodes list, so changes to the passed list will not affect the model.

### NodeList

    public NodeList(java.util.List nodes,
                    boolean copy)

  Creates a node list that holds a list of nodes.

Parameters:
  `nodes` - the list of nodes this template should hold.
  `copy` - if true, the created template will copy the passed nodes list, so changes to the passed list will not affect the model. If false, the model will reference the passed list and will sense changes in it, altough no operations on the list will be synchronized.

Method Detail

### getList

    public java.util.List getList()

  Retrieves the underlying list used to store the nodes. Note however, that you can fully use the underlying list through the `List` interface of this class itself. You would probably access the underlying list only for synchronization purposes.

### toString

    public java.lang.String toString()

  This method returns the string resulting from concatenation of string representations of its nodes. Each node is rendered using its XML serialization format. This greatly simplifies creating XML-transformation templates, as to output a node contained in variable x as XML fragment, you simply write ${x} in the template (or whatever your template engine uses as its expression syntax).

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a NodeList that contains the same nodes as this node list.

  Throws:
    `java.lang.CloneNotSupportedException` - if the contained list's class does not have an accessible no-arg constructor.

### cloneNodes

    private void cloneNodes()
                     throws java.lang.CloneNotSupportedException

  Throws:
    `java.lang.CloneNotSupportedException`

### hashCode

    public int hashCode()

  Returns the hash code of the contained list.

  Specified by:
    `hashCode` in interface `java.util.List`

### equals

    public boolean equals(java.lang.Object o)

  Tests for equality with another object.

  Specified by:
    `equals` in interface `java.util.List`
  Parameters:
    `o` - the object to test for equality
  Returns:
    true if the other object is also a NodeList and their contained `List` objects evaluate as equals.

### selectNodes

    public NodeList selectNodes(java.lang.String xpathString)

  Applies an XPath expression to the node list and returns the resulting node list. In order for this method to work, your application must have access to werken.xpath library classes. The implementation does cache the parsed format of XPath expressions in a weak hash map, keyed by the string representation of the XPath expression. As the string object passed as the argument is usually kept in the parsed template, this ensures that each XPath expression is parsed only once during the lifetime of the template that first invoked it.

  Returns:
    a NodeList representing the nodes that are the result of application of the XPath to the current node list. It can be empty.

### add

    public boolean add(java.lang.Object o)

  Specified by:
    `add` in interface `java.util.List`

### add

    public void add(int index,
                    java.lang.Object o)

  Specified by:
    `add` in interface `java.util.List`

### addAll

    public boolean addAll(java.util.Collection c)

  Specified by:
    `addAll` in interface `java.util.List`

### addAll

    public boolean addAll(int index,
                          java.util.Collection c)

  Specified by:
    `addAll` in interface `java.util.List`

### clear

    public void clear()

  Specified by:
    `clear` in interface `java.util.List`

### contains

    public boolean contains(java.lang.Object o)

  Specified by:
    `contains` in interface `java.util.List`

### containsAll

    public boolean containsAll(java.util.Collection c)

  Specified by:
    `containsAll` in interface `java.util.List`

### get

    public java.lang.Object get(int index)

  Specified by:
    `get` in interface `java.util.List`

### indexOf

    public int indexOf(java.lang.Object o)

  Specified by:
    `indexOf` in interface `java.util.List`

### isEmpty

    public boolean isEmpty()

  Specified by:
    `isEmpty` in interface `java.util.List`

### iterator

    public java.util.Iterator iterator()

  Specified by:
    `iterator` in interface `java.util.List`

### lastIndexOf

    public int lastIndexOf(java.lang.Object o)

  Specified by:
    `lastIndexOf` in interface `java.util.List`

### listIterator

    public java.util.ListIterator listIterator()

  Specified by:
    `listIterator` in interface `java.util.List`

### listIterator

    public java.util.ListIterator listIterator(int index)

  Specified by:
    `listIterator` in interface `java.util.List`

### remove

    public java.lang.Object remove(int index)

  Specified by:
    `remove` in interface `java.util.List`

### remove

    public boolean remove(java.lang.Object o)

  Specified by:
    `remove` in interface `java.util.List`

### removeAll

    public boolean removeAll(java.util.Collection c)

  Specified by:
    `removeAll` in interface `java.util.List`

### retainAll

    public boolean retainAll(java.util.Collection c)

  Specified by:
    `retainAll` in interface `java.util.List`

### set

    public java.lang.Object set(int index,
                                java.lang.Object o)

  Specified by:
    `set` in interface `java.util.List`

### size

    public int size()

  Specified by:
    `size` in interface `java.util.List`

### subList

    public java.util.List subList(int fromIndex,
                                  int toIndex)

  Specified by:
    `subList` in interface `java.util.List`

### toArray

    public java.lang.Object[] toArray()

  Specified by:
    `toArray` in interface `java.util.List`

### toArray

    public java.lang.Object[] toArray(java.lang.Object[] a)

  Specified by:
    `toArray` in interface `java.util.List`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 Apache Software Foundation. All Rights Reserved.