Class BinaryRegister

    • Constructor Detail

      • BinaryRegister

        public BinaryRegister()
        Creates a new null-valued register.
    • Method Detail

      • setNull

        public void setNull()
        Description copied from interface: TokenSettable
        Sets the contained value to be null valued.
        Specified by:
        setNull in interface TokenSettable
      • setZero

        public void setZero()
        Description copied from interface: TokenSettable
        Sets the contained value to be zero valued.
        Specified by:
        setZero in interface TokenSettable
      • 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 interface BinarySettable
        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 interface BinarySettable
        Parameters:
        data - binary data containing the subsequence to which to set the container
        offset - starting offset of the subsequence
        length - 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 interface BinarySettable
        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 interface TokenSettable
        Parameters:
        value - the value to which to set the container
      • 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 interface BinaryValued
        Returns:
        the contained value as a byte[]. If null valued, as indicated by TokenValued.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 interface BinaryValued
        Returns:
        a reference to the byte[] holding the contained value. If null valued, as indicated by TokenValued.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 interface ScalarValued
        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 interface TokenValued
        Returns:
        true if the token is null valued, false otherwise