- 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 mutableTimestampValued
object.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TimestampRegister()
Creates a new null-valued register.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
asEpochSecs()
Gets the contained timestamp value as the number of seconds since Java epoch (January 1, 1970 00:00:00 GMT).Timestamp
asTimestamp()
Gets the contained timestamp value as ajava.sql.Timestamp
relative to the default time zone.protected com.pervasive.datarush.tokens.scalar.TimestampParser
getParser()
Get the cached parser used by this object.ScalarTokenType
getType()
Gets the data type of the token.boolean
isNull()
Indicates whether the token is null valued.boolean
isZero()
Indicates whether the value is the zero value for the type.int
offsetSecs()
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
set(TokenValued value)
Sets the contained value to the given token value.void
set(Timestamp timestamp)
Sets the container to a timestamp value specified as ajava.sql.Timestamp
object, relative to the default time zone.void
set(Timestamp timestamp, TimeZone timeZone)
Sets the container to a timestamp value specified as ajava.sql.Timestamp
object, relative to the given time zone.void
set(Date date)
Sets the container to a timestamp value specified as ajava.util.Date
object, relative to the default time zone.void
set(Date date, TimeZone timeZone)
Sets the container to a timestamp value specified as ajava.util.Date
object, relative to the given time zone.void
setNull()
Sets the contained value to be null valued.void
setZero()
Sets the contained value to be zero valued.int
subsecNanos()
Gets the subsecond portion of the contained timestamp value.String
toString()
-
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
-
-
-
-
Method Detail
-
setNull
public void setNull()
Description copied from interface:TokenSettable
Sets the contained value to be null valued.- Specified by:
setNull
in interfaceTokenSettable
-
setZero
public void setZero()
Description copied from interface:TokenSettable
Sets the contained value to be zero valued.- Specified by:
setZero
in interfaceTokenSettable
-
set
public void set(Date date)
Description copied from interface:TimestampSettable
Sets the container to a timestamp value specified as ajava.util.Date
object, relative to the default time zone. The time zone returned byTimeZone.getDefault()
is used.- Specified by:
set
in interfaceTimestampSettable
- 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, TimeZone timeZone)
Description copied from interface:TimestampSettable
Sets the container to a timestamp value specified as ajava.util.Date
object, relative to the given time zone.- Specified by:
set
in interfaceTimestampSettable
- Parameters:
date
- timestamp value to which to set the container, expressed as a point in time relative to the default time zone.timeZone
- the time zone 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 ajava.sql.Timestamp
object, relative to the default time zone. The time zone returned byTimeZone.getDefault()
is used.- Specified by:
set
in interfaceTimestampSettable
- 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, TimeZone timeZone)
Description copied from interface:TimestampSettable
Sets the container to a timestamp value specified as ajava.sql.Timestamp
object, relative to the given time zone.- Specified by:
set
in interfaceTimestampSettable
- Parameters:
timestamp
- timestamp value to which to set the container, expressed as a point in time relative to the default time zone.timeZone
- the time zone 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 interfaceTimestampSettable
- Parameters:
seconds
- number of seconds since Java epochnanos
- fractional portion of epoch time in nanosecondsoffsetSeconds
- 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 interfaceTokenSettable
- 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 interfaceScalarTyped
- Specified by:
getType
in interfaceScalarValued
- Specified by:
getType
in interfaceTokenTyped
- Specified by:
getType
in interfaceTokenValued
- 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, usesubsecNanos()
in conjunction with this method.- Specified by:
asEpochSecs
in interfaceTimestampValued
- Returns:
- the contained value as days since Java epoch.
If null valued, as indicated by
TokenValued.isNull()
,0
is returned. - See Also:
TimestampValued.subsecNanos()
-
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 byasEpochSecs()
. Thus the valueasEpochSecs() * 1000000000 + subsecNanos()
represents the number of nanoseconds since Java epoch.- Specified by:
subsecNanos
in interfaceTimestampValued
- Returns:
- the subsecond portion of the contained value, in
nanoseconds. If null valued, as indicated by
TokenValued.isNull()
,0
is returned. - See Also:
TimestampValued.asEpochSecs()
-
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 interfaceTimestampValued
- 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:
TimestampValued.asEpochSecs()
-
asTimestamp
public final Timestamp asTimestamp()
Description copied from interface:TimestampValued
Gets the contained timestamp value as ajava.sql.Timestamp
relative to the default time zone. The time zone used byTimeZone#getDefault()
is used.- Specified by:
asTimestamp
in interfaceTimestampValued
- Returns:
- the contained value as a
java.sql.Timestamp
. If null valued, as indicated byTokenValued.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
-
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 interfaceScalarValued
- 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 interfaceTokenValued
- Returns:
true
if the token is null valued,false
otherwise
-
-