- 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 mutableBinaryValued
object.- 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.ScalarTokenType
getType()
Gets the data type of the token.boolean
isNull()
Indicates whether the token is null valued.boolean
isZero()
Indicates whether the value is the zero value for the type.void
set(byte[] data)
Sets the container to the given binary data.void
set(byte[] data, int offset, int length)
Sets the container to a subsequence of the given binary data.void
set(TokenValued value)
Sets the contained value to the given token value.void
setNull()
Sets the contained value to be null valued.void
setRef(byte[] ref)
Sets the container to the given byte array reference.void
setZero()
Sets the contained value to be zero valued.String
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.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:TokenSettable
Sets the contained value to be null valued.- Specified by:
setNull
in interfaceTokenSettable
-
setZero
public void setZero()
Description copied from interface:TokenSettable
Sets the contained value to be zero valued.- Specified by:
setZero
in interfaceTokenSettable
-
set
public void set(byte[] data)
Description copied from interface:BinarySettable
Sets 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:
set
in 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:BinarySettable
Sets the container to a subsequence of the given binary data. The specified subsequence is copied from the input array.- Specified by:
set
in 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:BinarySettable
Sets 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:
setRef
in interfaceBinarySettable
- Parameters:
ref
- binary value to which to set the container
-
set
public void set(TokenValued value)
Description copied from interface:TokenSettable
Sets the contained value to the given token value. The given value must have a type compatible with this object.- Specified by:
set
in interfaceTokenSettable
- Parameters:
value
- the value to which to set the container
-
getType
public final ScalarTokenType getType()
Description copied from interface:TokenValued
Gets the data type of the token. This type will dictate the valid values that can be contained.- Specified by:
getType
in interfaceScalarTyped
- Specified by:
getType
in interfaceScalarValued
- Specified by:
getType
in interfaceTokenTyped
- Specified by:
getType
in interfaceTokenValued
- Returns:
- the token type.
-
asBinary
public final byte[] asBinary()
Description copied from interface:BinaryValued
Gets 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:
asBinary
in interfaceBinaryValued
- Returns:
- the contained value as a
byte[]
. If null valued, as indicated byTokenValued.isNull()
,null
is returned.
-
asBinaryRef
public final byte[] asBinaryRef()
Description copied from interface:BinaryValued
Gets 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:
asBinaryRef
in interfaceBinaryValued
- Returns:
- a reference to the
byte[]
holding the contained value. If null valued, as indicated byTokenValued.isNull()
,null
is returned.
-
isZero
public final boolean isZero()
Description copied from interface:ScalarValued
Indicates whether the value is the zero value for the type. Zero values are not stored in sparse representation formats.- Specified by:
isZero
in interfaceScalarValued
- Returns:
true
if the value is the zero value,false
otherwise.
-
isNull
public final boolean isNull()
Description copied from interface:TokenValued
Indicates 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:
isNull
in interfaceTokenValued
- Returns:
true
if the token is null valued,false
otherwise
-
-