public final class RecordTokenList extends Object implements MutableRecordTokenSequence
MutableRecordTokenSequence
.Modifier and Type | Class and Description |
---|---|
protected static class |
RecordTokenSequenceBase.CompositeComparator |
Constructor and Description |
---|
RecordTokenList(MutableScalarTokenSequence... columns)
Create a new array backed with the specified scalar token
arrays containing the field values for each record element.
|
RecordTokenList(RecordTokenType type,
int capacity)
Create an empty array with the specified type.
|
RecordTokenList(RecordTokenType type,
MutableScalarTokenSequence[] columns)
Create a new array backed with the specified scalar token
arrays containing the field values for each record element.
|
Modifier and Type | Method and Description |
---|---|
void |
append(TokenSequence data)
Appends all tokens in the specified sequence to this
sequence.
|
void |
append(TokenSequence data,
int start,
int length)
Appends a subsequence of tokens in the specified sequence
to this sequence.
|
void |
append(TokenValued value)
Appends the specified token value to this sequence.
|
void |
append(TokenValued value,
long count)
Appends the specified token value to this sequence
multiple times.
|
void |
appendNull()
Appends a null value to all sequences comprising
this composite sequence.
|
void |
appendNull(int count)
Appends the specified number of null values to all
sequences comprising this composite sequence.
|
void |
appendZero()
Appends a zero value to this sequence.
|
void |
appendZero(int count)
Appends the specified number of zero values to this sequence.
|
int |
columns()
Gets the number of columns in a record.
|
int |
compareElement(int index,
TokenValued value)
Compares the values of the specified row of tokens to the
tokens at which the given port is positioned.
|
int |
compareElements(int lhsIndex,
int rhsIndex)
Compares the values of the tokens at the specified
positions.
|
boolean |
containsNull(int index)
Determines if any column in the specified row is null valued.
|
void |
fillValue(int startIndex,
int count,
TokenValued value)
Sets the tokens in the specified subsequence to the given value.
|
ScalarTokenSequence |
getColumn(int i)
Gets the
ScalarTokenSequence containing the specified
column data. |
ElementComparator |
getElementComparator(SortKey... sortKeys)
Gets an
ElementComparator for the token array for the
fields with the given names and the given token orders. |
ElementComparator |
getElementComparator(TokenOrder... sortOrder)
Gets an ElementComparator for the token array and given ordering.
|
ElementComparator |
getElementComparator(TokenOrder sortOrder)
Gets an ElementComparator for the token array and given ordering.
|
RecordValued |
getToken(int index)
Gets the value at the specified position.
|
RecordSettable |
getTokenSetter(int index)
Returns a mutator for the given index.
|
RecordTokenType |
getType()
Gets the type of data tokens handled by the implementor.
|
int |
hashCode(int index)
Gets the hash code for the token at the specified position.
|
boolean |
isNull(int index)
Indicates whether the specified token has a null value.
|
RecordValuedIterator |
newValueIterator()
Creates an iterator over the non-null values of this sequence.
|
void |
reset()
Removes all elements from the sequence.
|
void |
setNull(int index)
Sets the token at the specified position to be null valued.
|
void |
setNull(int startIndex,
int count)
Sets the tokens in the specified subsequence to be null valued.
|
void |
setValue(int index,
TokenValued value)
Sets the token at the specified position to the given value.
|
void |
setValues(int index,
TokenSequence values,
int offset,
int length)
Sets the tokens in the specified subsequence of the array
to the corresponding values from a subsequence of the given source
sequence.
|
void |
setZero(int index)
Sets the token at the specified position to be zero valued.
|
void |
setZero(int start,
int length)
Sets the tokens in the specified subsequence to be zero valued.
|
int |
size()
Gets the length of the sequence.
|
void |
sort(SortKey... sortKeys)
Sort the list using the specified ordering.
|
String |
toString() |
String |
toString(int index)
Gets the string representation of the token at the specified
position.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
columns, compareElement, compareElements, containsNull, getElementComparator, getElementComparator, getElementComparator, getToken, newValueIterator
getType
hashCode, isNull, size, toString
public RecordTokenList(RecordTokenType type, int capacity)
type
- the record schemacapacity
- the initial capacity.public RecordTokenList(MutableScalarTokenSequence... columns)
columns
- the ScalarTokenArray
objects containing
the column data.IllegalArgumentException
- if not all columns are of the
same lengthpublic RecordTokenList(RecordTokenType type, MutableScalarTokenSequence[] columns)
type
- the record schemacolumns
- the ScalarTokenArray
objects containing
the column data.IllegalArgumentException
- if not all columns are of the
same lengthpublic ScalarTokenSequence getColumn(int i)
RecordTokenSequence
ScalarTokenSequence
containing the specified
column data.getColumn
in interface RecordTokenSequence
i
- the column sequence to get. Indexes are zero-based
and ordered identically to the fields in the
RecordTokenType
for this array.ScalarTokenSequence
containing the token
values for the column.public void setNull(int index)
MutableTokenSequence
setNull
in interface MutableTokenSequence
index
- the position of the token in the arraypublic void setNull(int startIndex, int count)
MutableTokenSequence
setNull
in interface MutableTokenSequence
startIndex
- the starting index of the subsequence in the arraycount
- the length of the subsequencepublic void setZero(int index)
MutableTokenSequence
setZero
in interface MutableTokenSequence
index
- the position of the token in the arraypublic void setZero(int start, int length)
MutableTokenSequence
setZero
in interface MutableTokenSequence
start
- the starting index of the subsequence in the arraylength
- the length of the subsequencepublic void setValues(int index, TokenSequence values, int offset, int length)
MutableTokenSequence
setValues
in interface MutableTokenSequence
index
- the starting index of the subsequence in the arrayvalues
- the source sequence. This sequence must be
of an appropriate type for the array.offset
- the starting index in the source sequence.
Corresponding values will be taken relative to this position.
That is, the value of the token at position offset
in
values
will be assigned to the token at position
start
, and so on.length
- the number of tokens to copypublic void setValue(int index, TokenValued value)
MutableTokenSequence
setValue
in interface MutableTokenSequence
index
- the position of the token in the arrayvalue
- the value to which to set the token. This value
must be of an appropriate type for the array.public void fillValue(int startIndex, int count, TokenValued value)
MutableTokenSequence
fillValue
in interface MutableTokenSequence
startIndex
- the starting index of the subsequence in the arraycount
- the length of the subsequencevalue
- the value to which to set the tokens. This value
must be of an appropriate type for the arraypublic void reset()
MutableTokenSequence
reset
in interface MutableTokenSequence
public void appendNull()
appendNull
in interface MutableTokenSequence
public void appendNull(int count)
appendNull
in interface MutableTokenSequence
count
- the number of null values to appendpublic void appendZero()
MutableTokenSequence
appendZero
in interface MutableTokenSequence
public void appendZero(int count)
MutableTokenSequence
appendZero
in interface MutableTokenSequence
count
- the number of zero values to appendpublic void append(TokenValued value)
The source value must be RecordValued
and have
a number of fields equal to the number of columns in
the sequence. Values are appended to the sequence
by position, not name. The token types of
fields must be compatible. If the types are not
identical, appropriate coercion will be performed.
append
in interface TokenAppendable
value
- the token value to appendpublic void append(TokenValued value, long count)
The source value must be RecordValued
and have
a number of fields equal to the number of columns in
the sequence. Values are appended to the sequence
by position, not name. The token types of
fields must be compatible. If the types are not
identical, appropriate coercion will be performed.
append
in interface TokenAppendable
value
- the token value to appendcount
- the number of copies to appendpublic void append(TokenSequence data)
The source sequence must be composite and have the same number of columns as this sequence. The data types of the sequences must be compatible. If not identical, appropriate coercion will be performed, if possible.
append
in interface TokenAppendable
data
- the sequence to appendpublic void append(TokenSequence data, int start, int length)
The source sequence must be composite and have the same number of columns as this sequence. The data types of the sequences must be compatible. If not identical, appropriate coercion will be performed, if possible.
append
in interface TokenAppendable
data
- the sequence containing tokens to appendstart
- the starting index of the subsequence in the sourcelength
- the length of the subsequencepublic void sort(SortKey... sortKeys)
sortKeys
- the fields and ordering by
which to sortpublic RecordSettable getTokenSetter(int index)
MutableTokenSequence
getTokenSetter
in interface MutableTokenSequence
getTokenSetter
in interface MutableRecordTokenSequence
index
- the positionpublic final int columns()
RecordTokenSequence
columns
in interface RecordTokenSequence
public final int size()
TokenSequence
size
in interface TokenSequence
public final RecordTokenType getType()
TokenTyped
getType
in interface RecordTyped
getType
in interface TokenTyped
public final boolean isNull(int index)
TokenSequence
isNull
in interface TokenSequence
index
- the index of the tokentrue
if the element is null,
false
otherwisepublic final boolean containsNull(int index)
RecordTokenSequence
containsNull
in interface RecordTokenSequence
index
- the row to checktrue
if at least one column is null
valued, false
if none arepublic final int compareElement(int index, TokenValued value)
RecordTokenSequence
The source sequence must be composite and have the same number of columns as this sequence. All columns must be of comparable types.
compareElement
in interface RecordTokenSequence
compareElement
in interface TokenSequence
index
- the index of the tokenvalue
- the input port positioned at the token for
comparison0
if the values are equal,
1
if the sequence token value is greater,
-1
if the sequence token value is lesser.
A null value is greater than any other non-null;
two null values compare as equal.public final int compareElements(int lhsIndex, int rhsIndex)
TokenSequence
compareElements
in interface RecordTokenSequence
compareElements
in interface TokenSequence
lhsIndex
- the index of the left-hand elementrhsIndex
- the index of the right-hand element0
if the values are equal,
1
if the left hand value is greater,
-1
if the left hand value is lesser.
A null value is greater than any other non-null;
two null values compare as equal.public final ElementComparator getElementComparator(TokenOrder sortOrder)
RecordTokenSequence
getElementComparator
in interface RecordTokenSequence
getElementComparator
in interface TokenSequence
sortOrder
- the desired orderingpublic final ElementComparator getElementComparator(TokenOrder... sortOrder)
RecordTokenSequence
getElementComparator
in interface RecordTokenSequence
sortOrder
- the desired orderingElementComparator
on this sequencepublic final ElementComparator getElementComparator(SortKey... sortKeys)
RecordTokenSequence
ElementComparator
for the token array for the
fields with the given names and the given token orders.getElementComparator
in interface RecordTokenSequence
sortKeys
- list of key fields and sort order for eachElementComparator
on this sequencepublic final RecordValued getToken(int index)
TokenSequence
getToken
in interface RecordTokenSequence
getToken
in interface TokenSequence
index
- the index of the tokenpublic final int hashCode(int index)
TokenSequence
hashCode
in interface TokenSequence
index
- the index of the tokenpublic final String toString(int index)
TokenSequence
toString
in interface TokenSequence
index
- the index of the tokenpublic RecordValuedIterator newValueIterator()
TokenSequence
newValueIterator
in interface RecordTokenSequence
newValueIterator
in interface TokenSequence
Copyright © 2020 Actian Corporation. All rights reserved.