net.sf.saxon.tree
Class AttributeEnumeration

java.lang.Object
  extended by net.sf.saxon.om.AxisIteratorImpl
      extended by net.sf.saxon.tree.AttributeEnumeration
All Implemented Interfaces:
AtomizableIterator, AxisIterator, LookaheadIterator, SequenceIterator

final class AttributeEnumeration
extends AxisIteratorImpl
implements LookaheadIterator

AttributeEnumeration is an enumeration of all the attribute nodes of an Element.


Field Summary
 
Fields inherited from class net.sf.saxon.om.AxisIteratorImpl
current, position
 
Fields inherited from interface net.sf.saxon.om.SequenceIterator
ATOMIZABLE, GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD
 
Constructor Summary
AttributeEnumeration(NodeImpl node, NodeTest nodeTest)
          Constructor
 
Method Summary
 SequenceIterator getAnother()
          Get another enumeration of the same nodes
 int getProperties()
          Get properties of this iterator, as a bit-significant integer.
 boolean hasNext()
          Test if there are mode nodes still to come.
 Item next()
          Get the next node in the iteration, or null if there are no more.
 
Methods inherited from class net.sf.saxon.om.AxisIteratorImpl
current, isAtomizing, position, setIsAtomizing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.om.SequenceIterator
current, position
 

Constructor Detail

AttributeEnumeration

public AttributeEnumeration(NodeImpl node,
                            NodeTest nodeTest)
Constructor

Parameters:
node: - the element whose attributes are required. This may be any type of node, but if it is not an element the enumeration will be empty
nodeTest: - condition to be applied to the names of the attributes selected
Method Detail

hasNext

public boolean hasNext()
Test if there are mode nodes still to come. ("elements" is used here in the sense of the Java enumeration class, not in the XML sense)

Specified by:
hasNext in interface LookaheadIterator
Returns:
true if there are more items in the sequence

next

public Item next()
Get the next node in the iteration, or null if there are no more.

Specified by:
next in interface AxisIterator
Specified by:
next in interface SequenceIterator
Returns:
the next item, or null if there are no more items. Once a call on next() has returned null, no further calls should be made. The preferred action for an iterator if subsequent calls on next() are made is to return null again, and all implementations within Saxon follow this rule.

getAnother

public SequenceIterator getAnother()
Get another enumeration of the same nodes

Specified by:
getAnother in interface AxisIterator
Specified by:
getAnother in interface SequenceIterator
Returns:
a SequenceIterator that iterates over the same items, positioned before the first item

getProperties

public int getProperties()
Get properties of this iterator, as a bit-significant integer.

Specified by:
getProperties in interface SequenceIterator
Overrides:
getProperties in class AxisIteratorImpl
Returns:
the properties of this iterator. This will be some combination of properties such as GROUNDED, LAST_POSITION_FINDER, and LOOKAHEAD. It is always acceptable to return the value zero, indicating that there are no known special properties. It is acceptable for the properties of the iterator to change depending on its state.