- java.lang.Object
-
- com.pervasive.datarush.sequences.scalar.AbstractScalarTokenSequence
-
- com.pervasive.datarush.sequences.scalar.BinaryTokenList
-
- All Implemented Interfaces:
MutableTokenSequence,BinaryTokenSequence,MutableBinaryTokenSequence,MutableScalarTokenSequence,ScalarTokenAppendable,ScalarTokenSequence,TokenAppendable,TokenSequence,ScalarTyped,TokenTyped
public final class BinaryTokenList extends AbstractScalarTokenSequence implements MutableBinaryTokenSequence
Primary implementation ofMutableBinaryTokenSequence.- See Also:
TokenTypeConstant.BINARY
-
-
Constructor Summary
Constructors Constructor Description BinaryTokenList(int initialCapacity)Create an empty array of binary tokens
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappend(byte[] value)Appends the specified binary value to this sequence.voidappend(byte[] value, int count)Appends the specified binary value to this sequence multiple times.voidappendReference(byte[] value)Appends the specified binary value to this sequence.voidappendReference(byte[] value, int count)Appends the specified binary value to this sequence multiple times.voidfill(int start, int length, byte[] value)Sets the tokens in the specified subsequence to the given binary value.voidfillRef(int start, int length, byte[] value)Sets the tokens in the specified subsequence to the given byte array reference.voidfillValue(int start, int length, TokenValued value)Sets the tokens in the specified subsequence to the given value.byte[]getBinary(int i)Gets the value of the specified token as a binary value.byte[]getBinaryRef(int i)Gets the value of the specified token as a binary value.BinaryValuedgetToken(int index)Gets the value at the specified position.BinarySettablegetTokenSetter(int index)Returns a mutator for the given index.ScalarTokenTypegetType()Gets the data type of the tokens in the sequence.voidgetValues(int index, byte[][] values, boolean[] nullFlags, int offset, int length)Gets the values and null indicators for a range of tokens.booleanisZero(int index)Indicates whether the specified token has a zero value.BinaryValuedIteratornewValueIterator()Creates an iterator over the non-null values of this sequence.voidset(int index, byte[] value)Sets the token at the specified position to the given binary value.voidsetNull(int index)Sets the token at the specified position to be null valued.voidsetNull(int start, int length)Sets the tokens in the specified subsequence to be null valued.voidsetRef(int index, byte[] value)Sets the token at the specified position to the given byte array reference.voidsetValue(int index, TokenValued value)Sets the token at the specified position to the given value.voidsetValues(int start, 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.voidsetZero(int index)Sets the token at the specified position to be zero valued.voidsetZero(int start, int length)Sets the tokens in the specified subsequence to be zero valued.-
Methods inherited from class com.pervasive.datarush.sequences.scalar.AbstractScalarTokenSequence
append, append, append, append, appendNull, appendNull, appendZero, appendZero, capacity, compareElement, compareElements, ensureCanonical, getElementComparator, getModificationCount, hashCode, isNull, isNull, map, remaining, reset, size, toString, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.pervasive.datarush.sequences.scalar.MutableScalarTokenSequence
ensureCanonical, getModificationCount
-
Methods inherited from interface com.pervasive.datarush.sequences.MutableTokenSequence
appendNull, appendNull, appendZero, appendZero, reset
-
Methods inherited from interface com.pervasive.datarush.sequences.scalar.ScalarTokenSequence
isNull
-
Methods inherited from interface com.pervasive.datarush.sequences.TokenAppendable
append, append, append, append
-
Methods inherited from interface com.pervasive.datarush.sequences.TokenSequence
compareElement, compareElements, getElementComparator, hashCode, isNull, size, toString
-
-
-
-
Method Detail
-
getType
public ScalarTokenType getType()
Description copied from interface:ScalarTokenSequenceGets the data type of the tokens in the sequence.- Specified by:
getTypein interfaceScalarTokenSequence- Specified by:
getTypein interfaceScalarTyped- Specified by:
getTypein interfaceTokenTyped- Returns:
- the token data type
-
getBinary
public byte[] getBinary(int i)
Description copied from interface:BinaryTokenSequenceGets the value of the specified token as a binary value.A copy of the value is returned.
- Specified by:
getBinaryin interfaceBinaryTokenSequence- Parameters:
i- the position of the token in the sequence- Returns:
- the value of the token. If the
token is null valued,
nullis returned.
-
getBinaryRef
public byte[] getBinaryRef(int i)
Description copied from interface:BinaryTokenSequenceGets the value of the specified token as a binary value.A reference to the value of the token is returned. Modifying this reference modifies the value of the token in the sequence.
- Specified by:
getBinaryRefin interfaceBinaryTokenSequence- Parameters:
i- the position of the token in the sequence- Returns:
- the value of the token. If the
token is null valued,
nullis returned.
-
getToken
public BinaryValued getToken(int index)
Description copied from interface:TokenSequenceGets the value at the specified position.- Specified by:
getTokenin interfaceBinaryTokenSequence- Specified by:
getTokenin interfaceScalarTokenSequence- Specified by:
getTokenin interfaceTokenSequence- Parameters:
index- the index of the token- Returns:
- the value
-
getTokenSetter
public BinarySettable getTokenSetter(int index)
Description copied from interface:MutableTokenSequenceReturns a mutator for the given index.- Specified by:
getTokenSetterin interfaceMutableBinaryTokenSequence- Specified by:
getTokenSetterin interfaceMutableScalarTokenSequence- Specified by:
getTokenSetterin interfaceMutableTokenSequence- Parameters:
index- the position- Returns:
- a mutator for the given index.
-
getValues
public void getValues(int index, byte[][] values, boolean[] nullFlags, int offset, int length)Description copied from interface:BinaryTokenSequenceGets the values and null indicators for a range of tokens.References to the values of the tokens are returned. Modifying these references modify the values of the tokens in the sequence.
- Specified by:
getValuesin interfaceBinaryTokenSequence- Parameters:
index- the starting index of the rangevalues- an array into which to place element valuesnullFlags- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
-
setNull
public void setNull(int index)
Description copied from interface:MutableTokenSequenceSets the token at the specified position to be null valued.- Specified by:
setNullin interfaceMutableTokenSequence- Parameters:
index- the position of the token in the array
-
setNull
public void setNull(int start, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to be null valued.- Specified by:
setNullin interfaceMutableTokenSequence- Parameters:
start- the starting index of the subsequence in the arraylength- the length of the subsequence
-
setZero
public void setZero(int index)
Description copied from interface:MutableTokenSequenceSets the token at the specified position to be zero valued.- Specified by:
setZeroin interfaceMutableTokenSequence- Parameters:
index- the position of the token in the array
-
setZero
public void setZero(int start, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to be zero valued.- Specified by:
setZeroin interfaceMutableTokenSequence- Parameters:
start- the starting index of the subsequence in the arraylength- the length of the subsequence
-
set
public void set(int index, byte[] value)Sets the token at the specified position to the given binary value.The input array is copied to prevent later modification of the value that is set. To avoid this overhead and prevent the data copy, use the
setRef(int,byte[])method instead.- Specified by:
setin interfaceMutableBinaryTokenSequence- Parameters:
index- the position of the token in the arrayvalue- the binary value to which to set the token. Passingnullis equivalent to callingsetNull(index).
-
fill
public void fill(int start, int length, byte[] value)Sets the tokens in the specified subsequence to the given binary value.The input array is copied to prevent later modification of the value that is set. To avoid this overhead and prevent the data copy, use the
fillRef(int,int,byte[])method instead.- Parameters:
start- the starting index of the subsequence in the arraylength- the length of the subsequencevalue- the binary value to which to set the tokens. Passingnullis equivalent to callingsetNull(start, length).
-
setRef
public void setRef(int index, byte[] value)Sets the token at the specified position to the given byte array reference.While this call avoids the overhead seen with
set(int,byte[]), subsequent modification of the value will modify the token value in the array.- Specified by:
setRefin interfaceMutableBinaryTokenSequence- Parameters:
index- the position of the token in the arrayvalue- the binary value to which to set the token. Passingnullis equivalent to callingsetNull(index).
-
fillRef
public void fillRef(int start, int length, byte[] value)Sets the tokens in the specified subsequence to the given byte array reference.While this call avoids the overhead seen with
fill(int,int,byte[]), subsequent modification of the value will modify the token value.- Parameters:
start- the starting index of the subsequence in the arraylength- the length of the subsequencevalue- the binary value to which to set the tokens. Passingnullis equivalent to callingsetNull(start, length).
-
setValue
public void setValue(int index, TokenValued value)Description copied from interface:MutableTokenSequenceSets the token at the specified position to the given value.- Specified by:
setValuein interfaceMutableTokenSequence- Parameters:
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.
-
fillValue
public void fillValue(int start, int length, TokenValued value)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to the given value.- Specified by:
fillValuein interfaceMutableTokenSequence- Parameters:
start- the starting index of the subsequence in the arraylength- the length of the subsequencevalue- the value to which to set the tokens. This value must be of an appropriate type for the array
-
setValues
public void setValues(int start, TokenSequence values, int offset, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence of the array to the corresponding values from a subsequence of the given source sequence.- Specified by:
setValuesin interfaceMutableTokenSequence- Parameters:
start- 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 positionoffsetinvalueswill be assigned to the token at positionstart, and so on.length- the number of tokens to copy
-
append
public final void append(byte[] value)
Description copied from interface:MutableBinaryTokenSequenceAppends the specified binary value to this sequence.A copy of the input will be made.
- Specified by:
appendin interfaceMutableBinaryTokenSequence- Parameters:
value- the value to append. Ifnull, this is equivalent toappendNull().
-
appendReference
public final void appendReference(byte[] value)
Description copied from interface:MutableBinaryTokenSequenceAppends the specified binary value to this sequence.A reference to the input value will be stored; subsequent modification of the input modifies the stored value.
- Specified by:
appendReferencein interfaceMutableBinaryTokenSequence- Parameters:
value- the value to append. Ifnull, this is equivalent toappendNull().
-
append
public void append(byte[] value, int count)Description copied from interface:MutableBinaryTokenSequenceAppends the specified binary value to this sequence multiple times.A copy of the input will be made.
- Specified by:
appendin interfaceMutableBinaryTokenSequence- Parameters:
value- the value to append. Ifnull, this is equivalent toappendNull(count).count- the number of copies to append.
-
appendReference
public void appendReference(byte[] value, int count)Description copied from interface:MutableBinaryTokenSequenceAppends the specified binary value to this sequence multiple times.A reference to the input value will be stored; subsequent modification of the input modifies the stored value.
- Specified by:
appendReferencein interfaceMutableBinaryTokenSequence- Parameters:
value- the value to append. Ifnull, this is equivalent toappendNull(count).count- the number of copies to append.
-
newValueIterator
public BinaryValuedIterator newValueIterator()
Description copied from interface:TokenSequenceCreates an iterator over the non-null values of this sequence. The iterator will automatically be reset as modifications are made to the sequence.- Specified by:
newValueIteratorin interfaceBinaryTokenSequence- Specified by:
newValueIteratorin interfaceScalarTokenSequence- Specified by:
newValueIteratorin interfaceTokenSequence- Returns:
- an newly-created iterator over the non-null values of this sequence.
-
isZero
public boolean isZero(int index)
Description copied from interface:ScalarTokenSequenceIndicates whether the specified token has a zero value.- Specified by:
isZeroin interfaceScalarTokenSequence- Parameters:
index- the index of the token- Returns:
trueif the element is zero,falseotherwise
-
-