Class SelectableRangeSet


  • public final class SelectableRangeSet
    extends java.lang.Object
    Represents a complex normalized range of a list. This is essentially a set of SelectableRange objects that make up a complex view of a range. For example, say we had a query '(a > 10 and a < 20 and a <> 15) or a >= 50', we could represent this range by the following range set;

     RANGE: AFTER_LAST_VALUE 10, BEFORE_FIRST_VALUE 15
     RANGE: AFTER_LAST_VALUE 15, BEFORE_FIRST_VALUE 20
     RANGE: FIRST_VALUE 50, LAST_VALUE LAST_IN_SET
     

    The range is constructed by calls to 'intersect', and 'union'.

    Author:
    Tobias Downer
    • Constructor Summary

      Constructors 
      Constructor Description
      SelectableRangeSet()
      Constructs the SelectableRangeSet to a full range (a range that encompases all values).
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void intersect​(Operator op, TObject val)
      Intersects this range with the given Operator and value constraint.
      static void main​(java.lang.String[] args)
      A test application.
      SelectableRange[] toSelectableRangeArray()
      Returns the range as an array of SelectableRange or an empty array if there is no range.
      java.lang.String toString()
      Outputs this range as a string, for diagnostic and testing purposes.
      void union​(Operator op, TObject val)
      Unions this range with the given Operator and value constraint.
      void union​(SelectableRangeSet union_to)
      Unions the current range set with the given range set.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SelectableRangeSet

        public SelectableRangeSet()
        Constructs the SelectableRangeSet to a full range (a range that encompases all values). If 'no_nulls' is true then the range can't include null values.
    • Method Detail

      • intersect

        public void intersect​(Operator op,
                              TObject val)
        Intersects this range with the given Operator and value constraint. For example, if a range is 'a' -> [END] and the given operator is '<=' and the value is 'z' the result range is 'a' -> 'z'.
      • union

        public void union​(Operator op,
                          TObject val)
        Unions this range with the given Operator and value constraint.
      • union

        public void union​(SelectableRangeSet union_to)
        Unions the current range set with the given range set.
      • toSelectableRangeArray

        public SelectableRange[] toSelectableRangeArray()
        Returns the range as an array of SelectableRange or an empty array if there is no range.
      • toString

        public java.lang.String toString()
        Outputs this range as a string, for diagnostic and testing purposes.
        Overrides:
        toString in class java.lang.Object
      • main

        public static void main​(java.lang.String[] args)
        A test application.