Class SparseIntTokenList

    • Constructor Summary

      Constructors 
      Constructor Description
      SparseIntTokenList​(int initialCapacity)
      Creates a new empty list.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(int value)
      Appends the specified integer to this sequence.
      void append​(int value, int count)
      Appends the specified integer to this sequence multiple times.
      void append​(TokenSequence data)
      Appends all tokens in the specified sequence to this sequence.
      void append​(TokenSequence data, int start, int length)
      Appends a subsequence of tokens in the specified sequence to this sequence.
      void append​(TokenValued value)
      Appends the specified token value to this sequence.
      void append​(TokenValued value, long count)
      Appends the specified token value to this sequence multiple times.
      void appendNull()
      Append a null value to this sequence.
      void appendNull​(int count)
      Append a null value to this sequence.
      void appendZero()
      Appends a zero value to this sequence.
      void appendZero​(int count)
      Appends the specified number of zero values to this sequence.
      int compareElement​(int absoluteIndex, TokenValued value)
      Compares the value of the specified token to the token at which the given port is positioned.
      int compareElements​(int lhsAbsoluteIndex, int rhsAbsoluteIndex)
      Compares the values of the tokens at the specified positions.
      void ensureCanonical()
      Ensures that the internal representation is in a canonical form such that it can be read safely by multiple threads.
      void fillValue​(int start, int length, TokenValued value)
      Sets the tokens in the specified subsequence to the given value.
      BigDecimal getBigDecimal​(int index)
      Gets the value of the specified token as a BigDecimal.
      double getDouble​(int index)
      Gets the value of the specified token as a double.
      ElementComparator getElementComparator​(TokenOrder sortOrder)
      Gets an ElementComparator for this sequence using the specified ordering.
      float getFloat​(int index)
      Gets the value of the specified token as a float.
      int getInt​(int index)
      Gets the value of the specified token as an int.
      long getLong​(int index)
      Get the value of the specified token as a long.
      long getModificationCount()
      Returns the current modification count.
      IntValued getToken​(int index)
      Gets the value at the specified position.
      IntSettable getTokenSetter​(int index)
      Returns a mutator for the given index.
      ScalarTokenType getType()
      Gets the data type of the tokens in the sequence.
      void getValues​(int start, double[] values, boolean[] nulls, int offset, int length)
      Gets the values and null indicators for a range of tokens as doubles.
      void getValues​(int start, float[] values, boolean[] nulls, int offset, int length)
      Gets the values and null indicators for a range of tokens as floats.
      void getValues​(int start, int[] values, boolean[] nulls, int offset, int length)
      Gets the values and null indicators for a range of tokens as ints.
      void getValues​(int start, long[] values, boolean[] nulls, int offset, int length)
      Gets the values and null indicators for a range of tokens as longs.
      void getValues​(int start, BigDecimal[] values, boolean[] nulls, int offset, int length)
      Gets the values and null indicators for a range of tokens as BigDecimal objects.
      int hashCode​(int absoluteIndex)
      Gets the hash code for the token at the specified position.
      boolean isNull()
      Returns whether all elements are null.
      boolean isNull​(int absoluteIndex)
      Indicates whether the specified token has a null value.
      boolean isZero​(int absoluteIndex)
      Indicates whether the specified token has a zero value.
      IntValuedIterator newValueIterator()
      Creates an iterator over the non-null values of this sequence.
      void reset()
      Removes all elements from the sequence.
      void setInt​(int absoluteIndex, int value)
      Sets the token at the specified position to the given value.
      void setNull​(int absoluteIndex)
      Sets the token at the specified position to be null valued.
      void setNull​(int start, int length)
      Sets the tokens in the specified subsequence to be null valued.
      void setValue​(int absoluteIndex, TokenValued value)
      Sets the token at the specified position to the given value.
      void setValues​(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.
      void setZero​(int absoluteIndex)
      Sets the token at the specified position to be zero valued.
      void setZero​(int start, int length)
      Sets the tokens in the specified subsequence to be zero valued.
      int size()
      Gets the length of the sequence.
      String toString()  
      String toString​(int absoluteIndex)
      Gets the string representation of the token at the specified position.
    • Constructor Detail

      • SparseIntTokenList

        public SparseIntTokenList​(int initialCapacity)
        Creates a new empty list.
        Parameters:
        initialCapacity - initial storage capacity of the list
    • Method Detail

      • append

        public void append​(int value,
                           int count)
        Description copied from interface: MutableIntTokenSequence
        Appends the specified integer to this sequence multiple times.
        Specified by:
        append in interface MutableIntTokenSequence
        Parameters:
        value - the value to append.
        count - the number of copies to append.
      • setInt

        public void setInt​(int absoluteIndex,
                           int value)
        Description copied from interface: MutableIntTokenSequence
        Sets the token at the specified position to the given value.
        Specified by:
        setInt in interface MutableIntTokenSequence
        Parameters:
        absoluteIndex - the position to modify
        value - the new value
      • getInt

        public int getInt​(int index)
        Description copied from interface: IntTokenSequence
        Gets the value of the specified token as an int.
        Specified by:
        getInt in interface IntTokenSequence
        Parameters:
        index - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, 0 is returned.
      • getLong

        public long getLong​(int index)
        Description copied from interface: LongTokenSequence
        Get the value of the specified token as a long.
        Specified by:
        getLong in interface LongTokenSequence
        Parameters:
        index - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, 0 is returned.
      • getFloat

        public float getFloat​(int index)
        Description copied from interface: FloatTokenSequence
        Gets the value of the specified token as a float.
        Specified by:
        getFloat in interface FloatTokenSequence
        Parameters:
        index - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, Float.NaN is returned.
      • getDouble

        public double getDouble​(int index)
        Description copied from interface: DoubleTokenSequence
        Gets the value of the specified token as a double.
        Specified by:
        getDouble in interface DoubleTokenSequence
        Parameters:
        index - the position of the token in the sequence
        Returns:
        the value of the token. If the token is null valued, Double.NaN is returned.
      • getBigDecimal

        public BigDecimal getBigDecimal​(int index)
        Description copied from interface: NumericTokenSequence
        Gets the value of the specified token as a BigDecimal.
        Specified by:
        getBigDecimal in interface NumericTokenSequence
        Parameters:
        index - 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 start,
                              int[] values,
                              boolean[] nulls,
                              int offset,
                              int length)
        Description copied from interface: IntTokenSequence
        Gets the values and null indicators for a range of tokens as ints.
        Specified by:
        getValues in interface IntTokenSequence
        Parameters:
        start - the starting index of the range
        values - an array into which to place element values
        nulls - 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
      • getValues

        public void getValues​(int start,
                              long[] values,
                              boolean[] nulls,
                              int offset,
                              int length)
        Description copied from interface: LongTokenSequence
        Gets the values and null indicators for a range of tokens as longs.
        Specified by:
        getValues in interface LongTokenSequence
        Parameters:
        start - the starting index of the range
        values - an array into which to place element values
        nulls - 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
      • getValues

        public void getValues​(int start,
                              double[] values,
                              boolean[] nulls,
                              int offset,
                              int length)
        Description copied from interface: DoubleTokenSequence
        Gets the values and null indicators for a range of tokens as doubles.
        Specified by:
        getValues in interface DoubleTokenSequence
        Parameters:
        start - the starting index of the range
        values - an array into which to place element values
        nulls - 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
      • getValues

        public void getValues​(int start,
                              BigDecimal[] values,
                              boolean[] nulls,
                              int offset,
                              int length)
        Description copied from interface: NumericTokenSequence
        Gets the values and null indicators for a range of tokens as BigDecimal objects.
        Specified by:
        getValues in interface NumericTokenSequence
        Parameters:
        start - the starting index of the range
        values - an array into which to place element values
        nulls - 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
      • getValues

        public void getValues​(int start,
                              float[] values,
                              boolean[] nulls,
                              int offset,
                              int length)
        Description copied from interface: FloatTokenSequence
        Gets the values and null indicators for a range of tokens as floats.
        Specified by:
        getValues in interface FloatTokenSequence
        Parameters:
        start - the starting index of the range
        values - an array into which to place element values
        nulls - 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
      • isNull

        public final boolean isNull()
        Description copied from interface: ScalarTokenSequence
        Returns whether all elements are null.
        Specified by:
        isNull in interface ScalarTokenSequence
        Returns:
        whether all elements are null.
      • size

        public final int size()
        Description copied from interface: TokenSequence
        Gets the length of the sequence.
        Specified by:
        size in interface TokenSequence
        Returns:
        the number of tokens in the sequence.
      • setZero

        public final void setZero​(int absoluteIndex)
        Description copied from interface: MutableTokenSequence
        Sets the token at the specified position to be zero valued.
        Specified by:
        setZero in interface MutableTokenSequence
        Parameters:
        absoluteIndex - 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
      • setNull

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

        public final 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
      • isNull

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

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

        public final int compareElement​(int absoluteIndex,
                                        TokenValued value)
        Description copied from interface: TokenSequence
        Compares the value of the specified token to the token at which the given port is positioned.
        Specified by:
        compareElement in interface TokenSequence
        Parameters:
        absoluteIndex - the index of the token
        value - the input port positioned at the token for comparison
        Returns:
        0 if the values are equal, 1 if the sequence token value is greater, -1 if the sequence token value is lesser. A null value is greater than any other non-null; two null values compare as equal.
      • compareElements

        public final int compareElements​(int lhsAbsoluteIndex,
                                         int rhsAbsoluteIndex)
        Description copied from interface: TokenSequence
        Compares the values of the tokens at the specified positions.
        Specified by:
        compareElements in interface TokenSequence
        Parameters:
        lhsAbsoluteIndex - the index of the left-hand element
        rhsAbsoluteIndex - the index of the right-hand element
        Returns:
        0 if the values are equal, 1 if the left hand value is greater, -1 if the left hand value is lesser. A null value is greater than any other non-null; two null values compare as equal.
      • hashCode

        public final int hashCode​(int absoluteIndex)
        Description copied from interface: TokenSequence
        Gets the hash code for the token at the specified position.
        Specified by:
        hashCode in interface TokenSequence
        Parameters:
        absoluteIndex - the index of the token
        Returns:
        the hash code for the token
      • toString

        public final String toString​(int absoluteIndex)
        Description copied from interface: TokenSequence
        Gets the string representation of the token at the specified position.
        Specified by:
        toString in interface TokenSequence
        Parameters:
        absoluteIndex - the index of the token
        Returns:
        the string representation of the token
      • appendNull

        public final void appendNull​(int count)
        Append a null value to this sequence.
        Specified by:
        appendNull in interface MutableTokenSequence
        Parameters:
        count - the number of null values to append
      • appendZero

        public void appendZero​(int count)
        Description copied from interface: MutableTokenSequence
        Appends the specified number of zero values to this sequence.
        Specified by:
        appendZero in interface MutableTokenSequence
        Parameters:
        count - the number of zero values to append
      • append

        public final void append​(TokenValued value)
        Description copied from interface: TokenAppendable
        Appends the specified token value to this sequence.

        The data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.

        Specified by:
        append in interface TokenAppendable
        Parameters:
        value - the token value to append
      • append

        public final void append​(TokenValued value,
                                 long count)
        Description copied from interface: TokenAppendable
        Appends the specified token value to this sequence multiple times.

        The data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.

        Specified by:
        append in interface TokenAppendable
        Parameters:
        value - the token value to append
        count - the number of copies to append
      • setValue

        public final void setValue​(int absoluteIndex,
                                   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:
        absoluteIndex - 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 final 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 final 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​(TokenSequence data)
        Description copied from interface: TokenAppendable
        Appends all tokens in the specified sequence to this sequence.

        The data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.

        Specified by:
        append in interface TokenAppendable
        Parameters:
        data - the sequence to append
      • append

        public final void append​(TokenSequence data,
                                 int start,
                                 int length)
        Description copied from interface: TokenAppendable
        Appends a subsequence of tokens in the specified sequence to this sequence.

        The data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.

        Specified by:
        append in interface TokenAppendable
        Parameters:
        data - the sequence containing tokens to append
        start - the starting index of the subsequence in the source
        length - the length of the subsequence