com.mckoi.database
Class SelectableRange

java.lang.Object
  extended by com.mckoi.database.SelectableRange

public final class SelectableRange
extends java.lang.Object

An object that represents a range of values to select from a list. A range has a start value, an end value, and whether we should pick inclusive or exclusive of the end value. The start value may be a concrete value from the set or it may be a flag that represents the start or end of the list.

For example, to select the first item from a set the range would be;

 RANGE:
   start = FIRST_VALUE, first
   end   = LAST_VALUE, first
 
To select the last item from a set the range would be;
 RANGE:
   start = FIRST_VALUE, last
   end   = LAST_VALUE, last
 
To select the range of values between '10' and '15' then range would be;
 RANGE:
   start = FIRST_VALUE, '10'
   end   = LAST_VALUE, '15'
 
Note that the the start value may not compare less than the end value. For example, start can not be 'last' and end can not be 'first'.

Author:
Tobias Downer

Field Summary
static byte AFTER_LAST_VALUE
          Represents the various points in the set on the value to represent the set range.
static byte BEFORE_FIRST_VALUE
          Represents the various points in the set on the value to represent the set range.
static TObject FIRST_IN_SET
          An object that represents the first value in the set.
static byte FIRST_VALUE
          Represents the various points in the set on the value to represent the set range.
static SelectableRange FULL_RANGE
          The range that represents the entire range (including null).
static SelectableRange FULL_RANGE_NO_NULLS
          The range that represents the entire range (not including null).
static TObject LAST_IN_SET
          An object that represents the last value in the set.
static byte LAST_VALUE
          Represents the various points in the set on the value to represent the set range.
 
Constructor Summary
SelectableRange(byte set_start_flag, TObject start, byte set_end_flag, TObject end)
          Constructs the range.
 
Method Summary
 boolean equals(java.lang.Object ob)
          Returns true if this range is equal to the given range.
 TObject getEnd()
          Returns the end of the range.
 byte getEndFlag()
          Returns the place for the range to end (either BEFORE_FIRST_VALUE or LAST VALUE).
 TObject getStart()
          Returns the start of the range.
 byte getStartFlag()
          Returns the place for the range to start (either FIRST_VALUE or AFTER_LAST_VALUE)
 java.lang.String toString()
          Outputs this range as a string.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FIRST_IN_SET

public static final TObject FIRST_IN_SET
An object that represents the first value in the set.

Note that these objects have no (NULL) type.


LAST_IN_SET

public static final TObject LAST_IN_SET
An object that represents the last value in the set.

Note that these objects have no (NULL) type.


FIRST_VALUE

public static final byte FIRST_VALUE
Represents the various points in the set on the value to represent the set range.

See Also:
Constant Field Values

LAST_VALUE

public static final byte LAST_VALUE
Represents the various points in the set on the value to represent the set range.

See Also:
Constant Field Values

BEFORE_FIRST_VALUE

public static final byte BEFORE_FIRST_VALUE
Represents the various points in the set on the value to represent the set range.

See Also:
Constant Field Values

AFTER_LAST_VALUE

public static final byte AFTER_LAST_VALUE
Represents the various points in the set on the value to represent the set range.

See Also:
Constant Field Values

FULL_RANGE

public static final SelectableRange FULL_RANGE
The range that represents the entire range (including null).


FULL_RANGE_NO_NULLS

public static final SelectableRange FULL_RANGE_NO_NULLS
The range that represents the entire range (not including null).

Constructor Detail

SelectableRange

public SelectableRange(byte set_start_flag,
                       TObject start,
                       byte set_end_flag,
                       TObject end)
Constructs the range.

Method Detail

getStart

public TObject getStart()
Returns the start of the range. NOTE: This may return FIRST_IN_SET or LAST_IN_SET.


getEnd

public TObject getEnd()
Returns the end of the range. NOTE: This may return FIRST_IN_SET or LAST_IN_SET.


getStartFlag

public byte getStartFlag()
Returns the place for the range to start (either FIRST_VALUE or AFTER_LAST_VALUE)


getEndFlag

public byte getEndFlag()
Returns the place for the range to end (either BEFORE_FIRST_VALUE or LAST VALUE).


toString

public java.lang.String toString()
Outputs this range as a string.

Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object ob)
Returns true if this range is equal to the given range.

Overrides:
equals in class java.lang.Object