Package groovy.lang

Class EmptyRange<T extends java.lang.Comparable>

  • All Implemented Interfaces:
    Range<T>, java.lang.Iterable<T>, java.util.Collection<T>, java.util.List<T>

    public class EmptyRange<T extends java.lang.Comparable>
    extends java.util.AbstractList<T>
    implements Range<T>
    Constructing Ranges like 0..<0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected T at
      The value at which the range originates (may be null).
      • Fields inherited from class java.util.AbstractList

        modCount
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(T o)
      Always throws UnsupportedOperationException for an empty range.
      boolean addAll​(int index, java.util.Collection<? extends T> c)
      Always throws UnsupportedOperationException for an empty range.
      boolean addAll​(java.util.Collection<? extends T> c)
      Always throws UnsupportedOperationException for an empty range.
      boolean containsWithinBounds​(java.lang.Object o)
      Never true for an empty range.
      T get​(int index)
      Always throws IndexOutOfBoundsException for an empty range.
      T getFrom()
      The lower value in the range.
      T getTo()
      The upper value in the range.
      java.lang.String inspect()
      boolean isReverse()
      Never true for an empty range.
      T remove​(int index)
      Always throws UnsupportedOperationException for an empty range.
      boolean remove​(java.lang.Object o)
      Always throws UnsupportedOperationException for an empty range.
      boolean removeAll​(java.util.Collection<?> c)
      Always throws UnsupportedOperationException for an empty range.
      boolean retainAll​(java.util.Collection<?> c)
      Always throws UnsupportedOperationException for an empty range.
      T set​(int index, T element)
      Always throws UnsupportedOperationException for an empty range.
      int size()
      Always 0 for an empty range.
      java.util.List<T> step​(int step)
      Always returns an empty list for an empty range.
      void step​(int step, Closure closure)
      Always does nothing for an empty range.
      java.lang.String toString()
      • Methods inherited from class java.util.AbstractList

        add, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, removeRange, subList
      • Methods inherited from class java.util.AbstractCollection

        contains, containsAll, isEmpty, toArray, toArray
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        add, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, replaceAll, sort, spliterator, subList, toArray, toArray
    • Field Detail

      • at

        protected T extends java.lang.Comparable at
        The value at which the range originates (may be null).
    • Constructor Detail

      • EmptyRange

        public EmptyRange​(T at)
        Creates a new EmptyRange.
        Parameters:
        at - the value at which the range starts (may be null).
    • Method Detail

      • getFrom

        public T getFrom()
        The lower value in the range.
        Specified by:
        getFrom in interface Range<T extends java.lang.Comparable>
        Returns:
        the lower value in the range.
      • getTo

        public T getTo()
        The upper value in the range.
        Specified by:
        getTo in interface Range<T extends java.lang.Comparable>
        Returns:
        the upper value in the range
      • isReverse

        public boolean isReverse()
        Never true for an empty range.
        Specified by:
        isReverse in interface Range<T extends java.lang.Comparable>
        Returns:
        false
      • containsWithinBounds

        public boolean containsWithinBounds​(java.lang.Object o)
        Never true for an empty range.
        Specified by:
        containsWithinBounds in interface Range<T extends java.lang.Comparable>
        Parameters:
        o - the object to check against the boundaries of the range
        Returns:
        false
      • inspect

        public java.lang.String inspect()
        Specified by:
        inspect in interface Range<T extends java.lang.Comparable>
        Returns:
        the verbose String representation of this Range as would be typed into a console to create the Range instance
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<T extends java.lang.Comparable>
      • size

        public int size()
        Always 0 for an empty range.
        Specified by:
        size in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        size in interface java.util.List<T extends java.lang.Comparable>
        Specified by:
        size in class java.util.AbstractCollection<T extends java.lang.Comparable>
        Returns:
        0
      • get

        public T get​(int index)
        Always throws IndexOutOfBoundsException for an empty range.
        Specified by:
        get in interface java.util.List<T extends java.lang.Comparable>
        Specified by:
        get in class java.util.AbstractList<T extends java.lang.Comparable>
        Throws:
        java.lang.IndexOutOfBoundsException - always
      • add

        public boolean add​(T o)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        add in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        add in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        add in class java.util.AbstractList<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException - always
      • addAll

        public boolean addAll​(int index,
                              java.util.Collection<? extends T> c)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        addAll in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        addAll in class java.util.AbstractList<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • addAll

        public boolean addAll​(java.util.Collection<? extends T> c)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        addAll in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        addAll in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        addAll in class java.util.AbstractCollection<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • remove

        public boolean remove​(java.lang.Object o)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        remove in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        remove in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        remove in class java.util.AbstractCollection<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • remove

        public T remove​(int index)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        remove in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        remove in class java.util.AbstractList<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • removeAll

        public boolean removeAll​(java.util.Collection<?> c)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        removeAll in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        removeAll in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        removeAll in class java.util.AbstractCollection<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • retainAll

        public boolean retainAll​(java.util.Collection<?> c)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        retainAll in interface java.util.Collection<T extends java.lang.Comparable>
        Specified by:
        retainAll in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        retainAll in class java.util.AbstractCollection<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • set

        public T set​(int index,
                     T element)
        Always throws UnsupportedOperationException for an empty range.
        Specified by:
        set in interface java.util.List<T extends java.lang.Comparable>
        Overrides:
        set in class java.util.AbstractList<T extends java.lang.Comparable>
        Throws:
        java.lang.UnsupportedOperationException
      • step

        public void step​(int step,
                         Closure closure)
        Always does nothing for an empty range.
        Specified by:
        step in interface Range<T extends java.lang.Comparable>
        Parameters:
        step - the amount by which to step. If negative, steps through the range backwards.
        closure - the Closure to call
      • step

        public java.util.List<T> step​(int step)
        Always returns an empty list for an empty range.
        Specified by:
        step in interface Range<T extends java.lang.Comparable>
        Parameters:
        step - the amount by which to step. If negative, steps through the range backwards.
        Returns:
        the list formed by stepping through the range by the indicated interval.