Class Range<N extends java.lang.Number & java.lang.Comparable<N>>

  • Type Parameters:
    N - The numerical type used by the range.
    All Implemented Interfaces:
    java.util.Iterator<N>
    Direct Known Subclasses:
    ByteRange, DoubleRange, FloatRange, IntRange, LongRange, ShortRange

    abstract class Range<N extends java.lang.Number & java.lang.Comparable<N>>
    extends java.lang.Object
    implements java.util.Iterator<N>
    An iterator for numerical ranges, used as the backing logic for RangeSourceArgumentsProvider.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean closed  
      private N current  
      private N from  
      private int sign  
      private N step  
      private N to  
      private N zero  
    • Constructor Summary

      Constructors 
      Constructor Description
      Range​(N from, N to, N step, boolean closed, N zero)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) N getCurrent()  
      private N getNextValue()  
      (package private) N getStep()  
      private N getZero()
      The value of the no-op "zero", illegal step in terms of N
      boolean hasNext()  
      (package private) boolean isValidDescending()  
      N next()  
      (package private) abstract N nextValue()
      The next value in the range.
      (package private) void validate()
      Asserts the range is valid.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, remove
    • Field Detail

      • from

        private final N extends java.lang.Number & java.lang.Comparable<N> from
      • to

        private final N extends java.lang.Number & java.lang.Comparable<N> to
      • step

        private final N extends java.lang.Number & java.lang.Comparable<N> step
      • closed

        private final boolean closed
      • current

        private N extends java.lang.Number & java.lang.Comparable<N> current
      • sign

        private final int sign
      • zero

        private final N extends java.lang.Number & java.lang.Comparable<N> zero
    • Constructor Detail

      • Range

        Range​(N from,
              N to,
              N step,
              boolean closed,
              N zero)
    • Method Detail

      • validate

        void validate()
        Asserts the range is valid.
        Throws:
        java.lang.IllegalArgumentException - if the range is not valid
      • isValidDescending

        boolean isValidDescending()
      • getStep

        N getStep()
      • getCurrent

        N getCurrent()
      • nextValue

        abstract N nextValue()
        The next value in the range. Calling next() will return this value and advance the iterator to it.
      • getNextValue

        private N getNextValue()
      • getZero

        private N getZero()
        The value of the no-op "zero", illegal step in terms of N
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<N extends java.lang.Number & java.lang.Comparable<N>>
      • next

        public N next()
        Specified by:
        next in interface java.util.Iterator<N extends java.lang.Number & java.lang.Comparable<N>>