- java.lang.Object
-
- com.pervasive.datarush.tokens.scalar.BinaryRegister
-
- All Implemented Interfaces:
DataRegister,BinarySettable,BinaryValued,ScalarRegister,ScalarSettable,ScalarValued,TokenSettable,TokenValued,ScalarTyped,TokenTyped,Serializable
public final class BinaryRegister extends Object implements ScalarRegister, BinarySettable
A mutableBinaryValuedobject.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BinaryRegister()Creates a new null-valued register.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]asBinary()Gets the contained binary value.byte[]asBinaryRef()Gets a reference to the contained binary value.ScalarTokenTypegetType()Gets the data type of the token.booleanisNull()Indicates whether the token is null valued.booleanisZero()Indicates whether the value is the zero value for the type.voidset(byte[] data)Sets the container to the given binary data.voidset(byte[] data, int offset, int length)Sets the container to a subsequence of the given binary data.voidset(TokenValued value)Sets the contained value to the given token value.voidsetNull()Sets the contained value to be null valued.voidsetRef(byte[] ref)Sets the container to the given byte array reference.voidsetZero()Sets the contained value to be zero valued.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.pervasive.datarush.types.ScalarTyped
getType
-
Methods inherited from interface com.pervasive.datarush.tokens.scalar.ScalarValued
getType, isZero
-
Methods inherited from interface com.pervasive.datarush.tokens.TokenValued
isNull
-
-
-
-
Method Detail
-
setNull
public void setNull()
Description copied from interface:TokenSettableSets the contained value to be null valued.- Specified by:
setNullin interfaceTokenSettable
-
setZero
public void setZero()
Description copied from interface:TokenSettableSets the contained value to be zero valued.- Specified by:
setZeroin interfaceTokenSettable
-
set
public void set(byte[] data)
Description copied from interface:BinarySettableSets the container to the given binary data.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
BinarySettable.setRef(byte[])method instead.- Specified by:
setin interfaceBinarySettable- Parameters:
data- binary value to which to set the container
-
set
public void set(byte[] data, int offset, int length)Description copied from interface:BinarySettableSets the container to a subsequence of the given binary data. The specified subsequence is copied from the input array.- Specified by:
setin interfaceBinarySettable- Parameters:
data- binary data containing the subsequence to which to set the containeroffset- starting offset of the subsequencelength- length of the subsequence, in bytes
-
setRef
public void setRef(byte[] ref)
Description copied from interface:BinarySettableSets the container to the given byte array reference.While this call avoids the overhead seen with
BinarySettable.set(byte[]), the caller must guarantee that the input array will not be modified subsequent to this call. Failure to comply may result in the dataflow exhibiting unexpected behavior.- Specified by:
setRefin interfaceBinarySettable- Parameters:
ref- binary value to which to set the container
-
set
public void set(TokenValued value)
Description copied from interface:TokenSettableSets the contained value to the given token value. The given value must have a type compatible with this object.- Specified by:
setin interfaceTokenSettable- Parameters:
value- the value to which to set the container
-
getType
public final ScalarTokenType getType()
Description copied from interface:TokenValuedGets the data type of the token. This type will dictate the valid values that can be contained.- Specified by:
getTypein interfaceScalarTyped- Specified by:
getTypein interfaceScalarValued- Specified by:
getTypein interfaceTokenTyped- Specified by:
getTypein interfaceTokenValued- Returns:
- the token type.
-
asBinary
public final byte[] asBinary()
Description copied from interface:BinaryValuedGets the contained binary value.The array returned is a copy of the binary data contained in the object. To avoid this overhead, use
BinaryValued.asBinaryRef()instead.- Specified by:
asBinaryin interfaceBinaryValued- Returns:
- the contained value as a
byte[]. If null valued, as indicated byTokenValued.isNull(),nullis returned.
-
asBinaryRef
public final byte[] asBinaryRef()
Description copied from interface:BinaryValuedGets a reference to the contained binary value.While this call avoids the overhead seen with
BinaryValued.asBinary(), the caller must guarantee that the returned array will not be modified. Failure to comply may result in the dataflow exhibiting unexpected behavior, as other operators may (or may not) see the modified value.- Specified by:
asBinaryRefin interfaceBinaryValued- Returns:
- a reference to the
byte[]holding the contained value. If null valued, as indicated byTokenValued.isNull(),nullis returned.
-
isZero
public final boolean isZero()
Description copied from interface:ScalarValuedIndicates whether the value is the zero value for the type. Zero values are not stored in sparse representation formats.- Specified by:
isZeroin interfaceScalarValued- Returns:
trueif the value is the zero value,falseotherwise.
-
isNull
public final boolean isNull()
Description copied from interface:TokenValuedIndicates whether the token is null valued. Tokens support null values analogous to SQL. Before accessing the value of the container, it is usually best to ensure it is not null valued using this method.- Specified by:
isNullin interfaceTokenValued- Returns:
trueif the token is null valued,falseotherwise
-
-