Class TimestampRegister

java.lang.Object
com.pervasive.datarush.tokens.scalar.TimestampRegister
All Implemented Interfaces:
DataRegister, ScalarRegister, ScalarSettable, ScalarValued, TimestampSettable, TimestampValued, TokenSettable, TokenValued, ScalarTyped, TokenTyped, Serializable

public final class TimestampRegister extends Object implements ScalarRegister, TimestampSettable
A mutable TimestampValued object.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new null-valued register.
  • Method Summary

    Modifier and Type
    Method
    Description
    final long
    Gets the contained timestamp value as the number of seconds since Java epoch (January 1, 1970 00:00:00 GMT).
    final Timestamp
    Gets the contained timestamp value as a java.sql.Timestamp relative to the default time zone.
    protected com.pervasive.datarush.tokens.scalar.TimestampParser
    Get the cached parser used by this object.
    Gets the data type of the token.
    final boolean
    Indicates whether the token is null valued.
    boolean
    Indicates whether the value is the zero value for the type.
    final int
    Gets the time zone and daylight saving time offset of the contained timestamp value, in seconds.
    void
    set(long seconds, int nanos, int offsetSeconds)
    Sets the container 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.
    void
    Sets the contained value to the given token value.
    void
    set(Timestamp timestamp)
    Sets the container to a timestamp value specified as a java.sql.Timestamp object, relative to the default time zone.
    void
    set(Timestamp timestamp, ZoneId zoneId)
    Sets the container to a timestamp value specified as a java.sql.Timestamp object, relative to the given time zone.
    void
    set(Date date)
    Sets the container to a timestamp value specified as a java.util.Date object, relative to the default time zone.
    void
    set(Date date, ZoneId zoneId)
    Sets the container to a timestamp value specified as a java.util.Date object, relative to the given time zone.
    void
    Sets the contained value to be null valued.
    void
    Sets the contained value to be zero valued.
    final int
    Gets the subsecond portion of the contained timestamp value.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.pervasive.datarush.types.ScalarTyped

    getType

    Methods inherited from interface com.pervasive.datarush.tokens.scalar.ScalarValued

    getType, isZero

    Methods inherited from interface com.pervasive.datarush.tokens.TokenValued

    isNull
  • Constructor Details

    • TimestampRegister

      public TimestampRegister()
      Creates a new null-valued register.
  • Method Details

    • 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(Date date)
      Description copied from interface: TimestampSettable
      Sets the container to a timestamp value specified as a java.util.Date object, relative to the default time zone. The time zone returned by {@link ZoneId.systemDefault()} is used.
      Specified by:
      set in interface TimestampSettable
      Parameters:
      date - timestamp value to which to set the container, expressed as a point in time relative to the default time zone.
    • set

      public void set(Date date, ZoneId zoneId)
      Description copied from interface: TimestampSettable
      Sets the container to a timestamp value specified as a java.util.Date object, relative to the given time zone.
      Specified by:
      set in interface TimestampSettable
      Parameters:
      date - timestamp value to which to set the container, expressed as a point in time relative to the default time zone.
      zoneId - the time zone id in which the timestamp should be interpreted
    • set

      public void set(Timestamp timestamp)
      Description copied from interface: TimestampSettable
      Sets the container to a timestamp value specified as a java.sql.Timestamp object, relative to the default time zone. The time zone id returned by {@link ZoneId.systemDefault()} is used.
      Specified by:
      set in interface TimestampSettable
      Parameters:
      timestamp - timestamp value to which to set the container, expressed as a point in time relative to the default time zone.
    • set

      public void set(Timestamp timestamp, ZoneId zoneId)
      Description copied from interface: TimestampSettable
      Sets the container to a timestamp value specified as a java.sql.Timestamp object, relative to the given time zone.
      Specified by:
      set in interface TimestampSettable
      Parameters:
      timestamp - timestamp value to which to set the container, expressed as a point in time relative to the default time zone.
      zoneId - the time zone id in which the timestamp should be interpreted
    • set

      public void set(long seconds, int nanos, int offsetSeconds)
      Description copied from interface: TimestampSettable
      Sets the container 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:
      set in interface TimestampSettable
      Parameters:
      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
    • 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
    • getType

      public final ScalarTokenType getType()
      Description copied from interface: TokenValued
      Gets the data type of the token. This type will dictate the valid values that can be contained.
      Specified by:
      getType in interface ScalarTyped
      Specified by:
      getType in interface ScalarValued
      Specified by:
      getType in interface TokenTyped
      Specified by:
      getType in interface TokenValued
      Returns:
      the token type.
    • asEpochSecs

      public final long asEpochSecs()
      Description copied from interface: TimestampValued
      Gets the contained timestamp value as the number of seconds since Java epoch (January 1, 1970 00:00:00 GMT). Timestamp values support nanosecond precision, although this method does not expose it. To access this level of detail, use subsecNanos() in conjunction with this method.
      Specified by:
      asEpochSecs in interface TimestampValued
      Returns:
      the contained value as days since Java epoch. If null valued, as indicated by TokenValued.isNull(), 0 is returned.
      See Also:
    • subsecNanos

      public final int subsecNanos()
      Description copied from interface: TimestampValued
      Gets the subsecond portion of the contained timestamp value. The value returned is relative to the seconds value returned by asEpochSecs(). Thus the value asEpochSecs() * 1000000000 + subsecNanos() represents the number of nanoseconds since Java epoch.
      Specified by:
      subsecNanos in interface TimestampValued
      Returns:
      the subsecond portion of the contained value, in nanoseconds. If null valued, as indicated by TokenValued.isNull(), 0 is returned.
      See Also:
    • offsetSecs

      public final int offsetSecs()
      Description copied from interface: TimestampValued
      Gets the time zone and daylight saving time offset of the contained timestamp value, in seconds.
      Specified by:
      offsetSecs in interface TimestampValued
      Returns:
      the time zone and daylight saving time offset of the contained value, in seconds. If null valued, as indicated by TokenValued.isNull(), 0 is returned.
      See Also:
    • asTimestamp

      public final Timestamp asTimestamp()
      Description copied from interface: TimestampValued
      Gets the contained timestamp value as a java.sql.Timestamp relative to the default time zone. The time zone used by TimeZone#getDefault() is used.
      Specified by:
      asTimestamp in interface TimestampValued
      Returns:
      the contained value as a java.sql.Timestamp. If null valued, as indicated by TokenValued.isNull(), null is returned.
    • getParser

      protected com.pervasive.datarush.tokens.scalar.TimestampParser getParser()
      Get the cached parser used by this object.
      Returns:
      the cached parser
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isZero

      public 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