Class TimestampTokenList

java.lang.Object
com.pervasive.datarush.sequences.scalar.AbstractScalarTokenSequence
com.pervasive.datarush.sequences.scalar.TimestampTokenList
All Implemented Interfaces:
MutableTokenSequence, MutableScalarTokenSequence, MutableTimestampTokenSequence, ScalarTokenAppendable, ScalarTokenSequence, TimestampTokenSequence, TokenAppendable, TokenSequence, ScalarTyped, TokenTyped

public final class TimestampTokenList extends AbstractScalarTokenSequence implements MutableTimestampTokenSequence
Primary implementation of MutableTimestampTokenSequence.
See Also:
  • Constructor Details

    • TimestampTokenList

      public TimestampTokenList(int capacity)
      Create a new array of timestamp tokens with the specified number of elements. All elements in the array will initially be null valued.
      Parameters:
      capacity - the number of timestamp tokens in the array
  • Method Details

    • getType

      public ScalarTokenType getType()
      Description copied from interface: ScalarTokenSequence
      Gets the data type of the tokens in the sequence.
      Specified by:
      getType in interface ScalarTokenSequence
      Specified by:
      getType in interface ScalarTyped
      Specified by:
      getType in interface TokenTyped
      Returns:
      the token data type
    • getTimestamp

      public Timestamp getTimestamp(int i)
      Description copied from interface: TimestampTokenSequence
      Gets the value of the specified token as a timestamp.
      Specified by:
      getTimestamp in interface TimestampTokenSequence
      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.
    • getEpochSeconds

      public long getEpochSeconds(int i)
      Description copied from interface: TimestampTokenSequence
      Gets the value of the specified token as the number of seconds elapsed since January 1, 1970 00:00:00 GMT.
      Specified by:
      getEpochSeconds in interface TimestampTokenSequence
      Parameters:
      i - the position of the token in the sequence
      Returns:
      the value of the token. If the token is null valued, 0 is returned.
    • getSubsecondNanos

      public int getSubsecondNanos(int i)
      Description copied from interface: TimestampTokenSequence
      Gets the subsecond portion (in nanoseconds) of the timestamp value of the specified token.
      Specified by:
      getSubsecondNanos in interface TimestampTokenSequence
      Parameters:
      i - the position of the token in the sequence
      Returns:
      the subsecond portion of the value in nanoseconds. If the token is null valued, 0 is returned.
    • getOffsetSeconds

      public int getOffsetSeconds(int i)
      Description copied from interface: TimestampTokenSequence
      Gets the time zone plus daylight savings time offset (in seconds) of the timestamp value of the specified token.
      Specified by:
      getOffsetSeconds in interface TimestampTokenSequence
      Parameters:
      i - the position of the token in the sequence
      Returns:
      the time zone plus daylight savings time offset in seconds. If the token is null valued, 0 is returned.
    • getToken

      public TimestampValued getToken(int index)
      Description copied from interface: TokenSequence
      Gets the value at the specified position.
      Specified by:
      getToken in interface ScalarTokenSequence
      Specified by:
      getToken in interface TimestampTokenSequence
      Specified by:
      getToken in interface TokenSequence
      Parameters:
      index - the index of the token
      Returns:
      the value
    • getTokenSetter

      public TimestampSettable getTokenSetter(int index)
      Description copied from interface: MutableTokenSequence
      Returns a mutator for the given index.
      Specified by:
      getTokenSetter in interface MutableScalarTokenSequence
      Specified by:
      getTokenSetter in interface MutableTimestampTokenSequence
      Specified by:
      getTokenSetter in interface MutableTokenSequence
      Parameters:
      index - the position
      Returns:
      a mutator for the given index.
    • getValues

      public void getValues(int index, long[] secValues, int[] nanoValues, int[] offsetValues, boolean[] nullFlags, int offset, int length)
      Description copied from interface: TimestampTokenSequence
      Gets the values and null indicators for a range of tokens.
      Specified by:
      getValues in interface TimestampTokenSequence
      Parameters:
      index - the starting index of the range
      secValues - an array into which to place the epoch second values of elements
      nanoValues - an array into which to place the subsecond values of elements
      offsetValues - an array into which to place the offset seconds values of elements
      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
    • 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
    • setTimestamp

      public void setTimestamp(int index, Timestamp value)
      Sets the token at the specified position to a timestamp value specified as a java.sql.Timestamp object, relative to the default time zone. The time zone id returned by ZoneId.systemDefault() is used.
      Parameters:
      index - the position of the token in the array
      value - the timestamp value to which to set the token, expressed as a point in time relative to the default time zone. Passing null is equivalent to setNull(index).
    • setTimestamp

      public void setTimestamp(int index, Timestamp value, ZoneId zoneId)
      Sets the token at the specified position to a timestamp value specified as a java.sql.Timestamp object, relative to the given time zone.
      Parameters:
      index - the position of the token in the array
      value - the timestamp value to which to set the token, expressed as a point in time relative to the given time zone. Passing null is equivalent to setNull(index).
      zoneId - the time zone id in which the timestamp should be interpreted
    • fillTimestamp

      public void fillTimestamp(int start, int length, Timestamp value)
      Sets the tokens in the specified subsequence to a timestamp value specified as a java.sql.Timestamp object, relative to the default time zone. The time zone returned by ZoneId.systemDefault() is used.
      Parameters:
      start - the starting index of the subsequence in the array
      length - the length of the subsequence
      value - the timestamp value to which to set the tokens, expressed as a point in time relative to the default time zone. Passing null is equivalent to setNull(start, length).
    • fillTimestamp

      public void fillTimestamp(int start, int length, Timestamp value, ZoneId zoneId)
      Sets the tokens in the specified subsequence to a timestamp value specified as a java.sql.Timestamp object, relative to the given time zone.
      Parameters:
      start - the starting index of the subsequence in the array
      length - the length of the subsequence
      value - the timestamp value to which to set the tokens, expressed as a point in time relative to the given time zone. Passing null is equivalent to setNull(start, length).
      zoneId - the time zone id in which the timestamp should be interpreted
    • setEpochSeconds

      public void setEpochSeconds(int index, long seconds, int nanos, int offsetSeconds)
      Sets the token at the specified position to a timestamp value specified as time since Java epoch (January 1, 1970 00:00:00 GMT) with time zone and daylight saving time offset.
      Specified by:
      setEpochSeconds in interface MutableTimestampTokenSequence
      Parameters:
      index - the position of the token in the array
      seconds - number of seconds since Java epoch
      nanos - fractional portion of epoch time in nanoseconds
      offsetSeconds - time zone and daylight saving time offset, in seconds
    • fillEpochSeconds

      public void fillEpochSeconds(int start, int length, long seconds, int nanos, int offsetSeconds)
      Sets the tokens in the specified subsequence to a timestamp value specified as time since Java epoch (January 1, 1970 00:00:00 GMT) with time zone and daylight saving time offset.
      Parameters:
      start - the starting index of the subsequence in the array
      length - the length of the subsequence
      seconds - number of seconds since Java epoch
      nanos - fractional portion of epoch time in nanoseconds
      offsetSeconds - time zone and daylight saving time offset, in seconds
    • 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 void append(Timestamp value)
      Description copied from interface: MutableTimestampTokenSequence
      Appends the specified timestamp to this sequence.
      Specified by:
      append in interface MutableTimestampTokenSequence
      Parameters:
      value - the value to append. If null, this is equivalent to appendNull().
    • append

      public void append(Timestamp value, int count)
      Description copied from interface: MutableTimestampTokenSequence
      Appends the specified timestamp to this sequence multiple times.
      Specified by:
      append in interface MutableTimestampTokenSequence
      Parameters:
      value - the value to append. If null, this is equivalent to appendNull().
      count - the number of copies to append.
    • appendEpochTime

      public void appendEpochTime(long epochSeconds, int subsecondNanos, int offsetSeconds)
      Description copied from interface: MutableTimestampTokenSequence
      Appends the timestamp specified in epoch time to this sequence.
      Specified by:
      appendEpochTime in interface MutableTimestampTokenSequence
      Parameters:
      epochSeconds - the number of seconds elapsed since January 1, 1970 00:00:00 GMT.
      subsecondNanos - the subsecond portion of the timestamp in nanoseconds.
      offsetSeconds - the offset in seconds, including both time zone and daylight savings adjustments, from GMT.
    • appendEpochTime

      public void appendEpochTime(long epochSeconds, int subsecondNanos, int offsetSeconds, int count)
      Description copied from interface: MutableTimestampTokenSequence
      Appends the timestamp specified in epoch time to this sequence multiple times.
      Specified by:
      appendEpochTime in interface MutableTimestampTokenSequence
      Parameters:
      epochSeconds - the number of seconds elapsed since January 1, 1970 00:00:00 GMT.
      subsecondNanos - the subsecond portion of the timestamp in nanoseconds.
      offsetSeconds - the offset in seconds, including both time zone and daylight savings adjustments, from GMT.
      count - the number of copies to append.
    • newValueIterator

      public TimestampValuedIterator newValueIterator()
      Description copied from interface: TokenSequence
      Creates an iterator over the non-null values of this sequence. The iterator will automatically be reset as modifications are made to the sequence.
      Specified by:
      newValueIterator in interface ScalarTokenSequence
      Specified by:
      newValueIterator in interface TimestampTokenSequence
      Specified by:
      newValueIterator in interface TokenSequence
      Returns:
      an newly-created iterator over the non-null values of this sequence.