public abstract class TimeMapper extends java.lang.Object implements DomainMapper
| Modifier and Type | Field and Description |
|---|---|
static TimeMapper |
DECIMAL_YEAR
Mapper for numeric values in decimal year (since 0 AD).
|
static TimeMapper |
ISO_8601
Mapper for ISO-8601 strings.
|
static TimeMapper |
JD
Mapper for numeric values in Julian Day.
|
static TimeMapper |
MJD
Mapper for numeric values in Modified Julian Date.
|
static TimeMapper |
UNIX_SECONDS
Mapper for numeric values (already) in unix seconds.
|
| Modifier | Constructor and Description |
|---|---|
protected |
TimeMapper(java.lang.Class<?> sourceClass,
java.lang.String sourceName,
java.lang.String sourceDescription)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Class<?> |
getSourceClass()
Returns the type of values from which this mapper instance can
convert.
|
java.lang.String |
getSourceDescription()
Returns a description of the type of source values which this mapper
can convert from.
|
java.lang.String |
getSourceName()
Returns a short name for the type of source values which this mapper
can convert from.
|
TimeDomain |
getTargetDomain()
Returns
TimeDomain.INSTANCE. |
static TimeMapper[] |
getTimeMappers()
Returns a selection of time mapper instances.
|
abstract double |
toUnixSeconds(java.lang.Object sourceValue)
Maps a source value to time in seconds since the Unix epoch
(1970-01-01T00:00:00).
|
public static final TimeMapper DECIMAL_YEAR
public static final TimeMapper MJD
public static final TimeMapper JD
public static final TimeMapper UNIX_SECONDS
public static final TimeMapper ISO_8601
protected TimeMapper(java.lang.Class<?> sourceClass,
java.lang.String sourceName,
java.lang.String sourceDescription)
sourceClass - source classsourceName - source type namesourceDescription - source type descriptionpublic TimeDomain getTargetDomain()
TimeDomain.INSTANCE.getTargetDomain in interface DomainMapperpublic java.lang.Class<?> getSourceClass()
DomainMapperObject.class.getSourceClass in interface DomainMapperpublic java.lang.String getSourceName()
DomainMappergetSourceName in interface DomainMapperpublic java.lang.String getSourceDescription()
DomainMappergetSourceDescription in interface DomainMapperpublic abstract double toUnixSeconds(java.lang.Object sourceValue)
A java (IEEE 754) double has 52+1 bits of precision, which I make 52*ln(2)/ln(10)=15.65 decimal places, and a year contains 3.15e7 seconds, which gives you the following precisions:
sourceValue - value in source domainpublic static TimeMapper[] getTimeMappers()