Enum RangeType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<RangeType>

    public enum RangeType
    extends java.lang.Enum<RangeType>
    Defines how the bounds of ranges in a RangeStructure are handled. Ranges in a RangeStructure are defined by only one value. The RangeType specifies whether this value is the upper or lower bound of the range. Ranges may thus be boundless/infinite.

    Example: In a LOWER_BOUND_EQUAL RangeStructure by calling put(10, value1) and put(25, value2), two ranges are defined: [10..24] and [25..infinity]. When using UPPER_BOUND_EQUAL, however, the same calls define the ranges [-infinity..10] and [11..25].

    See Also:
    RangeStructure
    • Enum Constant Detail

      • LOWER_BOUND_EQUAL

        public static final RangeType LOWER_BOUND_EQUAL
        Indicates that the keys are meant to be the lower bound of a range including the lower bound.
      • UPPER_BOUND_EQUAL

        public static final RangeType UPPER_BOUND_EQUAL
        Indicates that the keys are meant to be the upper bound of a range including the upper bound.
    • Method Detail

      • values

        public static RangeType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (RangeType c : RangeType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static RangeType valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getValue

        public abstract <K extends java.lang.Comparable<? super K>,​V> V getValue​(java.util.TreeMap<K,​V> tree,
                                                                                       K key)
        Retrieves the matching value from the given map using the given key. The strategy used to retrieve the value depends on the type of key. It differs in how the bounds of ranges are processed.
        Returns:
        the matching value in the given TreeMap or null if no matching value could be found.
      • findValue

        public abstract <K extends java.lang.Comparable<? super K>,​V> java.util.Optional<V> findValue​(java.util.TreeMap<K,​V> tree,
                                                                                                            K key)
        Retrieves the matching value from the given map using the given key. The strategy used to retrieve the value depends on the type of key. It differs in how the bounds of ranges are processed.
        Returns:
        the matching value in the given TreeMap or an empty Optional if no matching value could be found.