Package oracle.kv.table
Class FieldRange
java.lang.Object
oracle.kv.table.FieldRange
- All Implemented Interfaces:
Cloneable
,oracle.kv.impl.util.FastExternalizable
FieldRange defines a range of values to be used in a table or index
iteration or multiGet operation. A FieldRange is used as the least
significant component in a partially specified
PrimaryKey
or
IndexKey
in order to create a value range for an operation that
returns multiple rows or keys. The data types supported by FieldRange
are limited to those which are valid for primary keys and/or index keys,
as indicated by FieldDef.isValidKeyField()
and
FieldDef.isValidIndexField()
.
This object is used to scope a table or index operation and is constructed
by Table.createFieldRange(java.lang.String)
and Index.createFieldRange(java.lang.String)
. If
used on a table the field referenced must be part of the table's primary key
and be in proper order relative to the parent value. If used on an index
the field must be part of the index definition and in proper order relative
to the index definition.
The fieldPath used in FieldRange construction must be one of the strings
returned from PrimaryKey.getFields()
or IndexKey.getFields()
,
respectively.
- Since:
- 3.0
-
Method Summary
Modifier and TypeMethodDescriptionboolean
check()
clone()
Creates a new FieldRange instance that is a shallow copy of this instance.A convenience factory method to create a MultiRowOptions instance using this FieldRange.boolean
Returns the FieldDef for the field used in the range.getEnd()
Returns the FieldValue that defines upper bound of the range, or null if no upper bound is enforced.boolean
Returns whether end is included in the range, i.e., end is greater than or equal to the last FieldValue in the range.getField()
Returns the FieldDef that was used to construct this object.Returns the name for the field used in the range.getStart()
Returns the FieldValue that defines lower bound of the range, or null if no lower bound is enforced.boolean
Returns whether start is included in the range, i.e., start is less than or equal to the first FieldValue in the range.int
int
hashCode()
setEnd
(double value, boolean isInclusive) Sets the end value of the range to the specified double value.setEnd
(float value, boolean isInclusive) Sets the end value of the range to the specified float value.setEnd
(int value, boolean isInclusive) Sets the end value of the range to the specified integer value.setEnd
(long value, boolean isInclusive) Sets the end value of the range to the specified long value.Sets the end value of the range to the specified string value.setEnd
(BigDecimal value, boolean isInclusive) Sets the end value of the range to the specified BigDecimal value.Sets the end value of the range to the specified timestamp value.setEnd
(FieldValue value, boolean isInclusive) Sets the end value of the range to the specified value.setEnd
(FieldValue value, boolean isInclusive, boolean validate) setEndEnum
(String value, boolean isInclusive) Sets the end value of the range to the specified enumeration value.setStart
(double value, boolean isInclusive) Sets the start value of the range to the specified double value.setStart
(float value, boolean isInclusive) Sets the start value of the range to the specified float value.setStart
(int value, boolean isInclusive) Sets the start value of the range to the specified integer value.setStart
(long value, boolean isInclusive) Sets the start value of the range to the specified long value.Sets the start value of the range to the specified string value.setStart
(BigDecimal value, boolean isInclusive) Sets the start value of the range to the specified BigDecimal value.Sets the start value of the range to the specified timestamp value.setStart
(FieldValue value, boolean isInclusive) Sets the start value of the range to the specified value.setStart
(FieldValue value, boolean isInclusive, boolean validate) setStartEnum
(String value, boolean isInclusive) Sets the start value of the range to the specified enumeration value.setStartValue
(FieldValue value, boolean isInclusive) toString()
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface oracle.kv.impl.util.FastExternalizable
deserializedForm
-
Method Details
-
clone
Creates a new FieldRange instance that is a shallow copy of this instance. -
createMultiRowOptions
A convenience factory method to create a MultiRowOptions instance using this FieldRange.- Returns:
- a new MultiRowOptions
-
getField
Returns the FieldDef that was used to construct this object. If this FieldRange is being used in an index and the indexed field is an array the definition of the indexed element is returned and not the array definition.- Returns:
- the FieldDef
-
getStart
Returns the FieldValue that defines lower bound of the range, or null if no lower bound is enforced.- Returns:
- the start FieldValue
-
getStartInclusive
public boolean getStartInclusive()Returns whether start is included in the range, i.e., start is less than or equal to the first FieldValue in the range. This value is valid only if the start value is not null.- Returns:
- true if the start value is inclusive
-
getEnd
Returns the FieldValue that defines upper bound of the range, or null if no upper bound is enforced.- Returns:
- the end FieldValue
-
getEndInclusive
public boolean getEndInclusive()Returns whether end is included in the range, i.e., end is greater than or equal to the last FieldValue in the range. This value is valid only if the end value is not null.- Returns:
- true if the end value is inclusive
-
getDefinition
Returns the FieldDef for the field used in the range.- Returns:
- the FieldDef
-
getFieldName
Returns the name for the field used in the range.- Returns:
- the name of the field
-
setStart
Sets the start value of the range to the specified integer value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
Sets the start value of the range to the specified double value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
Sets the start value of the range to the specified float value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
Sets the start value of the range to the specified long value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
Sets the start value of the range to the specified string value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStartEnum
Sets the start value of the range to the specified enumeration value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
Sets the start value of the range to the specified timestamp value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.- Since:
- 4.3
-
setStart
Sets the start value of the range to the specified BigDecimal value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.- Since:
- 4.4
-
setEnd
Sets the end value of the range to the specified integer value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified double value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified float value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified long value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified string value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEndEnum
Sets the end value of the range to the specified enumeration value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified timestamp value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.- Since:
- 4.3
-
setEnd
Sets the end value of the range to the specified BigDecimal value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.- Since:
- 4.4
-
setStart
Sets the start value of the range to the specified value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setEnd
Sets the end value of the range to the specified value.- Parameters:
value
- the value to setisInclusive
- set to true if the range is inclusive of the value, false if it is exclusive.- Returns:
- this
- Throws:
IllegalArgumentException
- if the value is not valid for the field in the range.
-
setStart
-
setEnd
-
setStartValue
-
getStorageSize
public int getStorageSize() -
check
public boolean check() -
toString
-
equals
-
hashCode
public int hashCode()
-