Package adql.query

## Interface ADQLIterator

- All Superinterfaces:
    `java.util.Iterator<ADQLObject>`
  All Known Implementing Classes:
    `ADQLList.ADQLListIterator`, `NullADQLIterator`

      public interface ADQLIterator
      extends java.util.Iterator<ADQLObject>

  Lets iterating on all ADQL objects inside any ADQL object.

  Any class implementing `ADQLObject` has the function `ADQLObject.adqlIterator()`. This function must return an instance of this class so that being able to iterate on all ADQL object inside itself.

  Version:
    06/2011
  Author:
    Grégory Mantelet (CDS)
  See Also:
    `ADQLObject.adqlIterator()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `replace​(ADQLObject replacer)` | Replaces the current ADQL object by the given ADQL object.

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining, hasNext, next, remove`

- - ### Method Detail

    - #### replace

          void replace​(ADQLObject replacer)
                throws java.lang.UnsupportedOperationException,
                       java.lang.IllegalStateException

      Replaces the current ADQL object by the given ADQL object. This method can be called only one time per call to next.
      Parameters:
        `replacer` - The ADQL object which has to replace the current object.
      Throws:
        `java.lang.UnsupportedOperationException` - If the replace operation is not supported by this ADQLIterator.
        `java.lang.IllegalStateException` - If the next method has not yet been called, or the replace method has already been called after the last call to the next method.