# Class HTMLDocument.Iterator

java.lang.Object
javax.swing.text.html.HTMLDocument.Iterator

Enclosing class:
  `HTMLDocument`

public abstract static class HTMLDocument.Iterator extends Object
An iterator to iterate over a particular type of tag. The iterator is not thread safe. If reliable access to the document is not already ensured by the context under which the iterator is being used, its use should be performed under the protection of Document.render.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Iterator()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract AttributeSet`
  `getAttributes()`
  Return the attributes for this tag.
  `abstract int`
  `getEndOffset()`
  Returns the end of the range for which the current occurrence of the tag is defined and has the same attributes.
  `abstract int`
  `getStartOffset()`
  Returns the start of the range for which the current occurrence of the tag is defined and has the same attributes.
  `abstract HTML.Tag`
  `getTag()`
  Type of tag this iterator represents.
  `abstract boolean`
  `isValid()`
  Indicates if the iterator is currently representing an occurrence of a tag.
  `abstract void`
  `next()`
  Move the iterator forward to the next occurrence of the tag it represents.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### Iterator

    protected Iterator()
    Constructor for subclasses to call.

- ## Method Details

  - ### getAttributes

    public abstract AttributeSet getAttributes()
    Return the attributes for this tag.
    Returns:
      the `AttributeSet` for this tag, or `null` if none can be found

  - ### getStartOffset

    public abstract int getStartOffset()
    Returns the start of the range for which the current occurrence of the tag is defined and has the same attributes.
    Returns:
      the start of the range, or -1 if it can't be found

  - ### getEndOffset

    public abstract int getEndOffset()
    Returns the end of the range for which the current occurrence of the tag is defined and has the same attributes.
    Returns:
      the end of the range

  - ### next

    public abstract void next()
    Move the iterator forward to the next occurrence of the tag it represents.

  - ### isValid

    public abstract boolean isValid()
    Indicates if the iterator is currently representing an occurrence of a tag. If false there are no more tags for this iterator.
    Returns:
      true if the iterator is currently representing an occurrence of a tag, otherwise returns false

  - ### getTag

    public abstract HTML.Tag getTag()
    Type of tag this iterator represents.
    Returns:
      the tag