Package com.mckoi.database

## Class SelectableRange

- java.lang.Object
- - 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

Fields
`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

Constructors
`SelectableRange​(byte set_start_flag, TObject start, byte set_end_flag, TObject end)` Constructs the range.

### Method Summary

All Methods Instance Methods Concrete Methods
`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`