- java.lang.Object
-
- com.pervasive.datarush.tokens.scalar.DurationRegister
-
- All Implemented Interfaces:
DataRegister
,DurationSettable
,DurationValued
,ScalarRegister
,ScalarSettable
,ScalarValued
,TokenSettable
,TokenValued
,ScalarTyped
,TokenTyped
,Serializable
public final class DurationRegister extends Object implements ScalarRegister, DurationSettable
A mutableDurationValued
object.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DurationRegister()
Creates a new null-valued register.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Duration
asDuration()
Gets the contained Duration value as ajava.time.Duration
.long
asSeconds()
Get the contained duration value as the number of seconds.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.void
set(long seconds, int nanos)
Sets the container to a directed duration value specified as seconds and nanoseconds.void
set(TokenValued value)
Sets the contained value to the given token value.void
set(Duration value)
Sets the container to a duration value specified as ajava.time.Duration
object.void
setNull()
Sets the contained value to be null valued.void
setZero()
Sets the contained value to be zero valued.int
subsecNanos()
Get the subsecond portion of the contained duration 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(long seconds, int nanos)
Description copied from interface:DurationSettable
Sets the container to a directed duration value specified as seconds and nanoseconds.- Specified by:
set
in interfaceDurationSettable
- Parameters:
seconds
- number of seconds in durationnanos
- fractional nanosecond portion of duration
-
set
public void set(Duration value)
Description copied from interface:DurationSettable
Sets the container to a duration value specified as ajava.time.Duration
object.- Specified by:
set
in interfaceDurationSettable
- Parameters:
value
- duration value to which to set the container
-
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.
-
asSeconds
public long asSeconds()
Description copied from interface:DurationValued
Get the contained duration value as the number of seconds.- Specified by:
asSeconds
in interfaceDurationValued
- Returns:
- the contained value as seconds.
If null valued, as indicated by
TokenValued.isNull()
,0
is returned. - See Also:
DurationValued.subsecNanos()
-
subsecNanos
public int subsecNanos()
Description copied from interface:DurationValued
Get the subsecond portion of the contained duration value.- Specified by:
subsecNanos
in interfaceDurationValued
- Returns:
- the subsecond portion of the contained value, in
nanoseconds. If null valued, as indicated by
TokenValued.isNull()
,0
is returned. - See Also:
DurationValued.asSeconds()
-
asDuration
public final Duration asDuration()
Description copied from interface:DurationValued
Gets the contained Duration value as ajava.time.Duration
.- Specified by:
asDuration
in interfaceDurationValued
- Returns:
- the contained value as a
java.time.Duration
. If null valued, as indicated byTokenValued.isNull()
,null
is returned.
-
isZero
public final 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
-
-