Package generic.util

# Enum Class PeekableIterators

java.lang.Object
java.lang.Enum<PeekableIterators>
generic.util.PeekableIterators

All Implemented Interfaces:
  `Serializable`, `Comparable<PeekableIterators>`, `Constable`

public enum PeekableIterators extends Enum<PeekableIterators>
Utilities for working with a `PeekableIterator`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <E> PeekableIterator<E>`
  `castOrWrap(Iterator<E> it)`
  Ensure that the given iterator is peekable
  `static PeekableIterators`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static PeekableIterators[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### values

    public static PeekableIterators[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static PeekableIterators valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### castOrWrap

    public static <E> PeekableIterator<E> castOrWrap(Iterator<E> it)
    Ensure that the given iterator is peekable

    If it is already peekable, this casts it as such. If not, it wraps it in a peekable iterator.

    Type Parameters:
      `E` - the type of elements
    Parameters:
      `it` - the iterator
    Returns:
      the peekable iterator