Class BinaryTokenList

    • Constructor Detail

      • BinaryTokenList

        public BinaryTokenList​(int initialCapacity)
        Create an empty array of binary tokens
        Parameters:
        initialCapacity - the initial capacity.
    • Method Detail

      • getBinary

        public byte[] getBinary​(int i)
        Description copied from interface: BinaryTokenSequence
        Gets the value of the specified token as a binary value.

        A copy of the value is returned.

        Specified by:
        getBinary in interface BinaryTokenSequence
        Parameters:
        i - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, null is returned.
      • getBinaryRef

        public byte[] getBinaryRef​(int i)
        Description copied from interface: BinaryTokenSequence
        Gets 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:
        getBinaryRef in interface BinaryTokenSequence
        Parameters:
        i - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, null is returned.
      • getValues

        public void getValues​(int index,
                              byte[][] values,
                              boolean[] nullFlags,
                              int offset,
                              int length)
        Description copied from interface: BinaryTokenSequence
        Gets 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:
        getValues in interface BinaryTokenSequence
        Parameters:
        index - the starting index of the range
        values - an array into which to place element values
        nullFlags - an array into which to place null indicator values
        offset - the starting offset into the target arrays. That is, elements[offset] and nulls[offset] will get the value and null indicator respectively of the token at position start, and so on.
        length - number of tokens to get
      • setNull

        public void setNull​(int index)
        Description copied from interface: MutableTokenSequence
        Sets the token at the specified position to be null valued.
        Specified by:
        setNull in interface MutableTokenSequence
        Parameters:
        index - the position of the token in the array
      • setNull

        public void setNull​(int start,
                            int length)
        Description copied from interface: MutableTokenSequence
        Sets the tokens in the specified subsequence to be null valued.
        Specified by:
        setNull in interface MutableTokenSequence
        Parameters:
        start - the starting index of the subsequence in the array
        length - the length of the subsequence
      • setZero

        public void setZero​(int index)
        Description copied from interface: MutableTokenSequence
        Sets the token at the specified position to be zero valued.
        Specified by:
        setZero in interface MutableTokenSequence
        Parameters:
        index - the position of the token in the array
      • setZero

        public void setZero​(int start,
                            int length)
        Description copied from interface: MutableTokenSequence
        Sets the tokens in the specified subsequence to be zero valued.
        Specified by:
        setZero in interface MutableTokenSequence
        Parameters:
        start - the starting index of the subsequence in the array
        length - 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:
        set in interface MutableBinaryTokenSequence
        Parameters:
        index - the position of the token in the array
        value - the binary value to which to set the token. Passing null is equivalent to calling setNull(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 array
        length - the length of the subsequence
        value - the binary value to which to set the tokens. Passing null is equivalent to calling setNull(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:
        setRef in interface MutableBinaryTokenSequence
        Parameters:
        index - the position of the token in the array
        value - the binary value to which to set the token. Passing null is equivalent to calling setNull(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 array
        length - the length of the subsequence
        value - the binary value to which to set the tokens. Passing null is equivalent to calling setNull(start, length).
      • setValue

        public void setValue​(int index,
                             TokenValued value)
        Description copied from interface: MutableTokenSequence
        Sets the token at the specified position to the given value.
        Specified by:
        setValue in interface MutableTokenSequence
        Parameters:
        index - the position of the token in the array
        value - 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: MutableTokenSequence
        Sets the tokens in the specified subsequence to the given value.
        Specified by:
        fillValue in interface MutableTokenSequence
        Parameters:
        start - the starting index of the subsequence in the array
        length - the length of the subsequence
        value - 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: MutableTokenSequence
        Sets the tokens in the specified subsequence of the array to the corresponding values from a subsequence of the given source sequence.
        Specified by:
        setValues in interface MutableTokenSequence
        Parameters:
        start - the starting index of the subsequence in the array
        values - 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 copy
      • append

        public final void append​(byte[] value)
        Description copied from interface: MutableBinaryTokenSequence
        Appends the specified binary value to this sequence.

        A copy of the input will be made.

        Specified by:
        append in interface MutableBinaryTokenSequence
        Parameters:
        value - the value to append. If null, this is equivalent to appendNull().
      • appendReference

        public final void appendReference​(byte[] value)
        Description copied from interface: MutableBinaryTokenSequence
        Appends 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:
        appendReference in interface MutableBinaryTokenSequence
        Parameters:
        value - the value to append. If null, this is equivalent to appendNull().
      • append

        public void append​(byte[] value,
                           int count)
        Description copied from interface: MutableBinaryTokenSequence
        Appends the specified binary value to this sequence multiple times.

        A copy of the input will be made.

        Specified by:
        append in interface MutableBinaryTokenSequence
        Parameters:
        value - the value to append. If null, this is equivalent to appendNull(count).
        count - the number of copies to append.
      • appendReference

        public void appendReference​(byte[] value,
                                    int count)
        Description copied from interface: MutableBinaryTokenSequence
        Appends 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:
        appendReference in interface MutableBinaryTokenSequence
        Parameters:
        value - the value to append. If null, this is equivalent to appendNull(count).
        count - the number of copies to append.
      • isZero

        public boolean isZero​(int index)
        Description copied from interface: ScalarTokenSequence
        Indicates whether the specified token has a zero value.
        Specified by:
        isZero in interface ScalarTokenSequence
        Parameters:
        index - the index of the token
        Returns:
        true if the element is zero, false otherwise