# 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