org.esa.beam.framework.datamodel
Class ProductData.UTC

java.lang.Object
  extended by org.esa.beam.framework.datamodel.ProductData
      extended by org.esa.beam.framework.datamodel.ProductData.Int
          extended by org.esa.beam.framework.datamodel.ProductData.UInt
              extended by org.esa.beam.framework.datamodel.ProductData.UTC
All Implemented Interfaces:
Cloneable
Enclosing class:
ProductData

public static class ProductData.UTC
extends ProductData.UInt

The ProductData.UTC class is a ProductData.UInt specialisation for UTC date/time values.

Internally, data is stored in an int[3] array which represents a Modified Julian Day 2000 (MJD) as a days, a seconds and a micro-seconds fraction.

See Also:
getMJD(), getDaysFraction(), getSecondsFraction(), getMicroSecondsFraction()

Nested Class Summary
 
Nested classes/interfaces inherited from class org.esa.beam.framework.datamodel.ProductData
ProductData.ASCII, ProductData.Byte, ProductData.Double, ProductData.Float, ProductData.Int, ProductData.Short, ProductData.UByte, ProductData.UInt, ProductData.UShort, ProductData.UTC
 
Field Summary
static String DATE_FORMAT_PATTERN
          The default pattern used to format date strings.
static TimeZone UTC_TIME_ZONE
          The default UTC time zone used by this class.
 
Fields inherited from class org.esa.beam.framework.datamodel.ProductData.Int
_array
 
Fields inherited from class org.esa.beam.framework.datamodel.ProductData
TYPE_ASCII, TYPE_FLOAT32, TYPE_FLOAT64, TYPE_INT16, TYPE_INT32, TYPE_INT8, TYPE_UINT16, TYPE_UINT32, TYPE_UINT8, TYPE_UNDEFINED, TYPE_UTC, TYPESTRING_ASCII, TYPESTRING_FLOAT32, TYPESTRING_FLOAT64, TYPESTRING_INT16, TYPESTRING_INT32, TYPESTRING_INT8, TYPESTRING_UINT16, TYPESTRING_UINT32, TYPESTRING_UINT8, TYPESTRING_UTC
 
Constructor Summary
ProductData.UTC()
          Constructs a new UTC value.
ProductData.UTC(double mjd)
          Constructs a MJD2000 date instance.
ProductData.UTC(int[] elems)
          Constructs a MJD2000 date instance.
ProductData.UTC(int days, int seconds, int microSeconds)
          Constructs a MJD2000 date instance.
 
Method Summary
static ProductData.UTC create(Date date, long micros)
          Creates a new UTC instance based on the given time and microseconds fraction.
static Calendar createCalendar()
          Gets the MJD 2000 calendar on which this UTC date/time is based.
static DateFormat createDateFormat()
          Creates the MJD 2000 date format used to parse and format.
static DateFormat createDateFormat(String pattern)
          Creates a date format using the given pattern.
protected  ProductData createDeepClone()
          Retuns a "deep" copy of this product data.
 String format()
          Formats this UTC date/time value as a string using the format DATE_FORMAT_PATTERN and the default MJD 2000 calendar.
 Calendar getAsCalendar()
          Gets the MJD 2000 calendar on which this UTC date/time is based.
 Date getAsDate()
          Returns this UTC date/time value as a Date.
 int getDaysFraction()
          Returns the days fraction of the Modified Julian Day (MJD) as a signed integer (the 1st element of the internal data array).
 String getElemString()
          Returns this UTC date/time value as a string using the format DATE_FORMAT_PATTERN.
 long getMicroSecondsFraction()
          Returns the micro-seconds fraction of the Modified Julian Day (MJD) as a signed integer (the 3rd element of the internal data array).
 double getMJD()
          Returns the Modified Julian Day 2000 (MJD2000) represented by this UTC value as double value.
 long getSecondsFraction()
          Returns the seconds fraction of the Modified Julian Day (MJD) as a signed integer (the 2nd element of the internal data array).
 String getTypeString()
          Returns this value's data type String.
static ProductData.UTC parse(String text)
          Parses a UTC value given as text in MJD 2000 format.
static ProductData.UTC parse(String text, String pattern)
          Parses a UTC value given as text.
 
Methods inherited from class org.esa.beam.framework.datamodel.ProductData.UInt
getElemDoubleAt, getElemFloatAt, getElemIntAt, getElemStringAt, getElemUIntAt, setElems
 
Methods inherited from class org.esa.beam.framework.datamodel.ProductData.Int
dispose, getArray, getElems, getNumElems, readFrom, setElemDoubleAt, setElemFloatAt, setElemIntAt, setElemUIntAt, writeTo
 
Methods inherited from class org.esa.beam.framework.datamodel.ProductData
createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createUnsignedInstance, createUnsignedInstance, createUnsignedInstance, equalElems, equals, getElemBoolean, getElemBooleanAt, getElemDouble, getElemFloat, getElemInt, getElemSize, getElemSize, getElemUInt, getType, getType, getTypeString, hashCode, isFloatingPointType, isInt, isIntType, isScalar, isSigned, isUIntType, isUnsigned, readFrom, readFrom, readFrom, setElemBoolean, setElemBooleanAt, setElemDouble, setElemFloat, setElemInt, setElemString, setElemStringAt, setElemUInt, toString, writeTo, writeTo, writeTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

UTC_TIME_ZONE

public static final TimeZone UTC_TIME_ZONE
The default UTC time zone used by this class.


DATE_FORMAT_PATTERN

public static final String DATE_FORMAT_PATTERN
The default pattern used to format date strings.

See Also:
Constant Field Values
Constructor Detail

ProductData.UTC

public ProductData.UTC()
Constructs a new UTC value.


ProductData.UTC

public ProductData.UTC(int[] elems)
Constructs a MJD2000 date instance.

Parameters:
elems - an array containg at least the three elements {days, seconds, microSeconds}

ProductData.UTC

public ProductData.UTC(int days,
                       int seconds,
                       int microSeconds)
Constructs a MJD2000 date instance.

Parameters:
days - the number of days since 2000-01-01 00:00
seconds - the seconds fraction of the number of days
microSeconds - the microseconds fraction of the number of days

ProductData.UTC

public ProductData.UTC(double mjd)
Constructs a MJD2000 date instance.

Parameters:
mjd - the Modified Julian Day 2000 (MJD2000) as double value
See Also:
getMJD()
Method Detail

create

public static ProductData.UTC create(Date date,
                                     long micros)
Creates a new UTC instance based on the given time and microseconds fraction.

Parameters:
date - the UTC time
micros - the microseconds fraction
Returns:
a new UTC instance

createCalendar

public static Calendar createCalendar()
Gets the MJD 2000 calendar on which this UTC date/time is based. The date is initially set the 1st January 2000, 0:00.

Returns:
the MJD 2000 calendar
See Also:
getAsCalendar()

createDateFormat

public static DateFormat createDateFormat()
Creates the MJD 2000 date format used to parse and format. The method returns createDateFormat(String) with DATE_FORMAT_PATTERN.

Returns:
a MJD 2000 date/time format

createDateFormat

public static DateFormat createDateFormat(String pattern)
Creates a date format using the given pattern. The date format returned, will use the english locale ('en') and a calendar returned by the createCalendar() method.

Parameters:
pattern - the data format pattern
Returns:
a date format
See Also:
SimpleDateFormat

parse

public static ProductData.UTC parse(String text)
                             throws ParseException
Parses a UTC value given as text in MJD 2000 format. The method returns parse(String, String) using DATE_FORMAT_PATTERN as pattern.

Parameters:
text - a UTC value given as text
Returns:
the UTC value represented by the given text
Throws:
ParseException
See Also:
createCalendar(), createDateFormat()

parse

public static ProductData.UTC parse(String text,
                                    String pattern)
                             throws ParseException
Parses a UTC value given as text. The method also considers an optional mircoseconds fraction at the end of the text string. The mircoseconds fraction is a dot '.' followed by a maximum of 6 digits.

Parameters:
text - a UTC value given as text
pattern - the date/time pattern
Returns:
the UTC value represented by the given text
Throws:
ParseException
See Also:
createCalendar(), createDateFormat()

format

public String format()
Formats this UTC date/time value as a string using the format DATE_FORMAT_PATTERN and the default MJD 2000 calendar.

Returns:
a formated UTC date/time string
See Also:
createCalendar(), createDateFormat()

getElemString

public String getElemString()
Returns this UTC date/time value as a string using the format DATE_FORMAT_PATTERN. Simply calls format().

Overrides:
getElemString in class ProductData
Returns:
a text representing this fields value, never null

createDeepClone

protected ProductData createDeepClone()
Retuns a "deep" copy of this product data.

Overrides:
createDeepClone in class ProductData.UInt
Returns:
a copy of this product data

getTypeString

public String getTypeString()
Returns this value's data type String.

Overrides:
getTypeString in class ProductData

getAsCalendar

public Calendar getAsCalendar()
Gets the MJD 2000 calendar on which this UTC date/time is based. The date of the calendar is set to this UTC value.

Returns:
the MJD 2000 calendar
See Also:
createCalendar(), getAsDate()

getAsDate

public Date getAsDate()
Returns this UTC date/time value as a Date. The method interpretes this UTC value as a MJD 2000 date (Modified Julian Day where the first day is the 01.01.2000).

See Also:
getAsCalendar()

getMJD

public double getMJD()
Returns the Modified Julian Day 2000 (MJD2000) represented by this UTC value as double value.

Returns:
this UTC value computed as days

getDaysFraction

public int getDaysFraction()
Returns the days fraction of the Modified Julian Day (MJD) as a signed integer (the 1st element of the internal data array).

Returns:
This UTC's days fraction.
See Also:
getMJD()

getSecondsFraction

public long getSecondsFraction()
Returns the seconds fraction of the Modified Julian Day (MJD) as a signed integer (the 2nd element of the internal data array).

Returns:
This UTC's seconds fraction.
See Also:
getMJD()

getMicroSecondsFraction

public long getMicroSecondsFraction()
Returns the micro-seconds fraction of the Modified Julian Day (MJD) as a signed integer (the 3rd element of the internal data array).

Returns:
This UTC's micro-seconds fraction.
See Also:
getMJD()


Copyright © 2002-2013 Brockmann Consult GmbH. All Rights Reserved.