Interface IIterableInterval<E extends Comparable<E>,S,U,ME extends IIterableInterval<E,S,U,ME>>

All Superinterfaces:
IInterval<E,ME>, Iterable<E>
All Known Implementing Classes:
BigDecimalInterval, BigIntegerInterval, DateInterval, IntegerInterval, IterableInterval, LongInterval, NumberInterval, SequenceableInterval

public interface IIterableInterval<E extends Comparable<E>,S,U,ME extends IIterableInterval<E,S,U,ME>> extends Iterable<E>, IInterval<E,ME>
  • Method Details

    • iterator

      Iterator<E> iterator()
      Specified by:
      iterator in interface Iterable<E extends Comparable<E>>
      Returns:
      An iterator that visits the elements in this interval in order, from left to right. Returns null if this interval does not support iteration.
      See Also:
    • iterateFromLeft

      Iterator<E> iterateFromLeft()
      Returns:
      An iterator that visits the elements in this interval in order, from left to right. Returns null if this interval does not support iteration.
      See Also:
    • iterateFromRight

      Iterator<E> iterateFromRight()
      Returns:
      An iterator that visits the elements in this interval in reverse order, from right to left. Returns null if this interval does not support iteration.
      See Also:
    • getStep

      S getStep()
      Returns:
      The step (or increment) by which this interval visits elements in its set. Returns null if this interval cannot iterate its elements.

      For instance, if the interval is a set of decimal values, say [1..10], the step might be a decimal increment, say 0.25. Similarly, if the interval is simply a set of integers the step might also be an integer value, typically 1. Considering a date interval, say [4/5/10..5/20/10], the step could be expressed in terms of a unit of time e.g., 10 seconds, 1 minute, 2 weeks, etc.

      Note if non-null, the step is a positive (or absolute) increment. To iterate the interval in reverse order use iterateFromRight().

    • step

      ME step(S s)
    • getUnit

      U getUnit()
    • unit

      ME unit(U u)
    • getFromLeft

      E getFromLeft(int iStepIndex)
      Parameters:
      iStepIndex - The index of the step from the left endpoint
      Returns:
      The nth step from the left endpoint. Returns null if iStepIndex is out of bounds.
    • getFromRight

      E getFromRight(int iStepIndex)
      Parameters:
      iStepIndex - The index of the step from the right endpoint
      Returns:
      The nth step from the right endpoint. Returns null if iStepIndex is out of bounds.