# Interface NodeSetData<T>

Type Parameters:
  `T` - the type of nodes maintained by this set

All Superinterfaces:
  `Data, Iterable<T>`

public interface NodeSetData<T> extends Data, Iterable<T>
An abstract representation of a `Data` type containing a node-set. The type (class) and ordering of the nodes contained in the set are not defined by this class; instead that behavior should be defined by `NodeSetData` subclasses.

Since:
  1.6

## Method Summary

Modifier and Type
Method
Description
`Iterator<T>`
`iterator()`
Returns a read-only iterator over the nodes contained in this `NodeSetData` in document order.

### Methods declared in interface Iterable

`forEach, spliterator`
Modifier and Type
Method
Description
`default void`
`forEach(Consumer<? super T> action)`
Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
`default Spliterator<T>`
`spliterator()`
Creates a `Spliterator` over the elements described by this `Iterable`.

## Method Details

### iterator

Iterator<T> iterator()
Returns a read-only iterator over the nodes contained in this `NodeSetData` in document order. Attempts to modify the returned iterator via the `remove` method throw `UnsupportedOperationException`.

Specified by:
  `iterator` in interface `Iterable<T>`
Returns:
  an `Iterator` over the nodes in this `NodeSetData` in document order