org.faktorips.runtime.internal.tableindex
Enum RangeType

java.lang.Object
  extended by java.lang.Enum<RangeType>
      extended by org.faktorips.runtime.internal.tableindex.RangeType
All Implemented Interfaces:
Serializable, Comparable<RangeType>

public enum RangeType
extends 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 Summary
LOWER_BOUND
          Deprecated. Because using this type in a RangeStructure results in asymmetrical behavior of the AbstractMapStructure.put(Object, SearchStructure) and RangeStructure.get(Object) methods. A value that was added by calling put(10, value) can not be retrieved by calling get(10).
LOWER_BOUND_EQUAL
          Indicates that the keys are meant to be the lower bound of a range including the lower bound.
UPPER_BOUND
          Deprecated. Because using this type in a RangeStructure results in asymmetrical behavior of the AbstractMapStructure.put(Object, SearchStructure) and RangeStructure.get(Object) methods. A value that was added by calling put(10, value) can not be retrieved by calling get(10).
UPPER_BOUND_EQUAL
          Indicates that the keys are meant to be the upper bound of a range including the upper bound.
 
Method Summary
abstract
<K extends Comparable<? super K>,V>
V
getValue(TreeMap<K,V> tree, K key)
          Retrieves the matching value from the given map using the given key.
static RangeType valueOf(String name)
          Returns the enum constant of this type with the specified name.
static RangeType[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

LOWER_BOUND

@Deprecated
public static final RangeType LOWER_BOUND
Deprecated. Because using this type in a RangeStructure results in asymmetrical behavior of the AbstractMapStructure.put(Object, SearchStructure) and RangeStructure.get(Object) methods. A value that was added by calling put(10, value) can not be retrieved by calling get(10).
Indicates that the keys are meant to be the lower bound of a range (not included).


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

@Deprecated
public static final RangeType UPPER_BOUND
Deprecated. Because using this type in a RangeStructure results in asymmetrical behavior of the AbstractMapStructure.put(Object, SearchStructure) and RangeStructure.get(Object) methods. A value that was added by calling put(10, value) can not be retrieved by calling get(10).
Indicates that the keys are meant to be the upper bound of a range (not included).


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(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:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

getValue

public abstract <K extends Comparable<? super K>,V> V getValue(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.


Copyright © 2015. All rights reserved.