Class RecordTokenList

    • Constructor Detail

      • RecordTokenList

        public RecordTokenList​(RecordTokenType type,
                               int capacity)
        Create an empty array with the specified type.
        Parameters:
        type - the record schema
        capacity - the initial capacity.
      • RecordTokenList

        public RecordTokenList​(MutableScalarTokenSequence... columns)
        Create a new array backed with the specified scalar token arrays containing the field values for each record element.
        Parameters:
        columns - the ScalarTokenArray objects containing the column data.
        Throws:
        IllegalArgumentException - if not all columns are of the same length
      • RecordTokenList

        public RecordTokenList​(RecordTokenType type,
                               MutableScalarTokenSequence[] columns)
        Create a new array backed with the specified scalar token arrays containing the field values for each record element.
        Parameters:
        type - the record schema
        columns - the ScalarTokenArray objects containing the column data.
        Throws:
        IllegalArgumentException - if not all columns are of the same length
    • Method Detail

      • getColumn

        public ScalarTokenSequence getColumn​(int i)
        Description copied from interface: RecordTokenSequence
        Gets the ScalarTokenSequence containing the specified column data.
        Specified by:
        getColumn in interface RecordTokenSequence
        Parameters:
        i - the column sequence to get. Indexes are zero-based and ordered identically to the fields in the RecordTokenType for this array.
        Returns:
        a ScalarTokenSequence containing the token values for the column.
      • 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 startIndex,
                            int count)
        Description copied from interface: MutableTokenSequence
        Sets the tokens in the specified subsequence to be null valued.
        Specified by:
        setNull in interface MutableTokenSequence
        Parameters:
        startIndex - the starting index of the subsequence in the array
        count - 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
      • setValues

        public void setValues​(int index,
                              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:
        index - 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
      • 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 startIndex,
                              int count,
                              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:
        startIndex - the starting index of the subsequence in the array
        count - 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
      • appendNull

        public void appendNull()
        Appends a null value to all sequences comprising this composite sequence.
        Specified by:
        appendNull in interface MutableTokenSequence
      • appendNull

        public void appendNull​(int count)
        Appends the specified number of null values to all sequences comprising this composite 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 void append​(TokenValued value)
        Appends the specified token value to this sequence.

        The source value must be RecordValued and have a number of fields equal to the number of columns in the sequence. Values are appended to the sequence by position, not name. The token types of fields must be compatible. If the types are not identical, appropriate coercion will be performed.

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

        public void append​(TokenValued value,
                           long count)
        Appends the specified token value to this sequence multiple times.

        The source value must be RecordValued and have a number of fields equal to the number of columns in the sequence. Values are appended to the sequence by position, not name. The token types of fields must be compatible. If the types are not identical, appropriate coercion will be performed.

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

        public void append​(TokenSequence data)
        Appends all tokens in the specified sequence to this sequence. Columns are appended to the target column in the same position as the source.

        The source sequence must be composite and have the same number of columns as this sequence. The data types of the sequences must be compatible. If not identical, appropriate coercion will be performed, if possible.

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

        public void append​(TokenSequence data,
                           int start,
                           int length)
        Appends a subsequence of tokens in the specified sequence to this sequence. Columns are appended to the target column in the same position as the source.

        The source sequence must be composite and have the same number of columns as this sequence. The data types of the sequences must be compatible. If not identical, appropriate coercion will be performed, if possible.

        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
      • sort

        public void sort​(SortKey... sortKeys)
        Sort the list using the specified ordering.
        Parameters:
        sortKeys - the fields and ordering by which to sort
      • columns

        public final int columns()
        Description copied from interface: RecordTokenSequence
        Gets the number of columns in a record.
        Specified by:
        columns in interface RecordTokenSequence
        Returns:
        the number of columns in a record.
      • 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.
      • getType

        public final RecordTokenType getType()
        Description copied from interface: TokenTyped
        Gets the type of data tokens handled by the implementor.
        Specified by:
        getType in interface RecordTyped
        Specified by:
        getType in interface TokenTyped
        Returns:
        the type of tokens associated with the class.
      • isNull

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

        public final boolean containsNull​(int index)
        Description copied from interface: RecordTokenSequence
        Determines if any column in the specified row is null valued.
        Specified by:
        containsNull in interface RecordTokenSequence
        Parameters:
        index - the row to check
        Returns:
        true if at least one column is null valued, false if none are
      • compareElement

        public final int compareElement​(int index,
                                        TokenValued value)
        Description copied from interface: RecordTokenSequence
        Compares the values of the specified row of tokens to the tokens at which the given port is positioned. Tokens in a row are compared to the token of the subport in the same position as the token's column. Comparison starts with the first column and progresses until the tokens compare unequal or there are no more columns.

        The source sequence must be composite and have the same number of columns as this sequence. All columns must be of comparable types.

        Specified by:
        compareElement in interface RecordTokenSequence
        Specified by:
        compareElement in interface TokenSequence
        Parameters:
        index - 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 lhsIndex,
                                         int rhsIndex)
        Description copied from interface: TokenSequence
        Compares the values of the tokens at the specified positions.
        Specified by:
        compareElements in interface RecordTokenSequence
        Specified by:
        compareElements in interface TokenSequence
        Parameters:
        lhsIndex - the index of the left-hand element
        rhsIndex - 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.
      • getElementComparator

        public final ElementComparator getElementComparator​(TokenOrder... sortOrder)
        Description copied from interface: RecordTokenSequence
        Gets an ElementComparator for the token array and given ordering. Each column will be sorted by the order specified in the matching position in the ordering array. An ordering must be specified for each column.
        Specified by:
        getElementComparator in interface RecordTokenSequence
        Parameters:
        sortOrder - the desired ordering
        Returns:
        an ElementComparator on this sequence
      • getElementComparator

        public final ElementComparator getElementComparator​(SortKey... sortKeys)
        Description copied from interface: RecordTokenSequence
        Gets an ElementComparator for the token array for the fields with the given names and the given token orders.
        Specified by:
        getElementComparator in interface RecordTokenSequence
        Parameters:
        sortKeys - list of key fields and sort order for each
        Returns:
        an ElementComparator on this sequence
      • hashCode

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

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