Package gw.lang.reflect.interval
Interface IIterableInterval<E extends Comparable<E>,S,U,ME extends IIterableInterval<E,S,U,ME>>
-
- 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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description E
getFromLeft(int iStepIndex)
E
getFromRight(int iStepIndex)
S
getStep()
U
getUnit()
Iterator<E>
iterateFromLeft()
Iterator<E>
iterateFromRight()
Iterator<E>
iterator()
ME
step(S s)
ME
unit(U u)
-
Methods inherited from interface gw.lang.reflect.interval.IInterval
contains, contains, getLeftEndpoint, getRightEndpoint, isLeftClosed, isReverse, isRightClosed
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
iterator
Iterator<E> iterator()
- Specified by:
iterator
in interfaceIterable<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()
,iterateFromRight()
-
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:
iterator()
,iterateFromRight()
-
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:
iterator()
,iterateFromLeft()
-
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().
-
getUnit
U getUnit()
-
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.
-
-