org.jibx.runtime
Class JodaConvert

java.lang.Object
  extended by org.jibx.runtime.JodaConvert

public abstract class JodaConvert
extends java.lang.Object

Utility class supplying static methods for Joda date/time conversions. The actual serializer/deserializer methods are all public so that they'll be included in JavaDocs; support methods are protected, so that they'll be exposed for user classes extending this class.

Author:
Dennis M. Sosnoski

Constructor Summary
JodaConvert()
           
 
Method Summary
protected static DateMidnight deserializeDateMidnight(java.lang.String text, DateTimeZone zone)
          Deserialize date value as a midnight date in the specified time zone.
static LocalDate deserializeLocalDate(java.lang.String text)
          Deserialize date value from text as local date without time zone.
static DateMidnight deserializeLocalDateMidnight(java.lang.String text)
          Deserialize date value from text as midnight date in default (local) time zone.
static DateTime deserializeLocalDateTime(java.lang.String text)
          Deserialize date/time value from text into the local (default) time zone.
static LocalTime deserializeLocalTime(java.lang.String text)
          Deserialize time value from text as local time.
static DateTime deserializeStrictLocalDateTime(java.lang.String text)
          Deserialize local (default zone) date/time value from text with time zone required.
static DateTime deserializeStrictUTCDateTime(java.lang.String text)
          Deserialize UTC date/time value from text with time zone required.
static DateMidnight deserializeUTCDateMidnight(java.lang.String text)
          Deserialize date value from text as midnight date in UTC time zone.
static DateTime deserializeUTCDateTime(java.lang.String text)
          Deserialize UTC date/time value from text into the UTC time zone.
static DateMidnight deserializeZonedDateMidnight(java.lang.String text)
          Deserialize date value from text as midnight date in specified (or default) time zone.
static DateTime deserializeZonedDateTime(java.lang.String text)
          Deserialize date/time value from text in specified (or default) time zone.
protected static DateTimeZone findZone(java.lang.String text, DateTimeZone dflt)
          Find the date/time zone for an xs:date or xs:dateTime text representation.
protected static DateTime parseDateTime(java.lang.String text, boolean full, DateTimeZone zone)
          Parse date/time value from text.
static java.lang.String serializeLocalDate(LocalDate date)
          Serialize local date value to general date text without time zone.
static java.lang.String serializeUnzonedDateMidnight(DateMidnight date)
          Serialize midnight date value to general date text without time zone.
static java.lang.String serializeUnzonedLocalTime(LocalTime time)
          Serialize local time value to general date text without time zone.
static java.lang.String serializeUTCDateMidnight(DateMidnight date)
          Serialize midnight date value to general date text with UTC time zone.
static java.lang.String serializeUTCDateTime(DateTime time)
          Serialize date/time to general dateTime text.
static java.lang.String serializeUTCLocalTime(LocalTime time)
          Serialize local time value to general date text with UTC time zone.
static java.lang.String serializeZonedDateMidnight(DateMidnight date)
          Serialize midnight date value to general date text with time zone offset.
static java.lang.String serializeZonedDateTime(DateTime time)
          Serialize date/time to general dateTime text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JodaConvert

public JodaConvert()
Method Detail

deserializeLocalDate

public static LocalDate deserializeLocalDate(java.lang.String text)
                                      throws JiBXException
Deserialize date value from text as local date without time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

serializeLocalDate

public static java.lang.String serializeLocalDate(LocalDate date)
Serialize local date value to general date text without time zone. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary.

Parameters:
date - date to be converted
Returns:
converted date text

deserializeDateMidnight

protected static DateMidnight deserializeDateMidnight(java.lang.String text,
                                                      DateTimeZone zone)
                                               throws JiBXException
Deserialize date value as a midnight date in the specified time zone.

Parameters:
text -
zone -
Returns:
date
Throws:
JiBXException

findZone

protected static DateTimeZone findZone(java.lang.String text,
                                       DateTimeZone dflt)
                                throws JiBXException
Find the date/time zone for an xs:date or xs:dateTime text representation.

Parameters:
text - xs:date or xs:dateTime value
dflt - default zone to be returned if no zone specified
Returns:
zone
Throws:
JiBXException

deserializeZonedDateMidnight

public static DateMidnight deserializeZonedDateMidnight(java.lang.String text)
                                                 throws JiBXException
Deserialize date value from text as midnight date in specified (or default) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone. If the time zone indication is included a zone matching the offset is used for the date; otherwise the default time zone is used. This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeLocalDateMidnight

public static DateMidnight deserializeLocalDateMidnight(java.lang.String text)
                                                 throws JiBXException
Deserialize date value from text as midnight date in default (local) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeUTCDateMidnight

public static DateMidnight deserializeUTCDateMidnight(java.lang.String text)
                                               throws JiBXException
Deserialize date value from text as midnight date in UTC time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

serializeUnzonedDateMidnight

public static java.lang.String serializeUnzonedDateMidnight(DateMidnight date)
Serialize midnight date value to general date text without time zone. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary.

Parameters:
date - date to be converted
Returns:
converted date text

serializeZonedDateMidnight

public static java.lang.String serializeZonedDateMidnight(DateMidnight date)
Serialize midnight date value to general date text with time zone offset. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary and trailing time zone offset.

Parameters:
date - date to be converted
Returns:
converted date text

serializeUTCDateMidnight

public static java.lang.String serializeUTCDateMidnight(DateMidnight date)
Serialize midnight date value to general date text with UTC time zone. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DDZ, with optional leading sign included if necessary.

Parameters:
date - date to be converted
Returns:
converted date text

deserializeLocalTime

public static LocalTime deserializeLocalTime(java.lang.String text)
                                      throws JiBXException
Deserialize time value from text as local time. Time values are expected to match W3C XML Schema standard format as hh:mm:ss.fff, with optional trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

serializeUnzonedLocalTime

public static java.lang.String serializeUnzonedLocalTime(LocalTime time)
Serialize local time value to general date text without time zone. Time values are formatted in W3C XML Schema standard format as hh:mm:ss.fff.

Parameters:
time - time to be converted
Returns:
converted time text

serializeUTCLocalTime

public static java.lang.String serializeUTCLocalTime(LocalTime time)
Serialize local time value to general date text with UTC time zone. Time values are formatted in W3C XML Schema standard format as hh:mm:ss.fffZ, with optional leading sign included if necessary.

Parameters:
time - time to be converted
Returns:
converted time text

parseDateTime

protected static DateTime parseDateTime(java.lang.String text,
                                        boolean full,
                                        DateTimeZone zone)
                                 throws JiBXException
Parse date/time value from text. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to the target time zone). If the time zone is absent and not required the target time zone is assumed.

Parameters:
text -
full - zoned time required flag (exception thrown if missing)
zone - time zone used for returned date/time
Returns:
converted date/time
Throws:
JiBXException

deserializeZonedDateTime

public static DateTime deserializeZonedDateTime(java.lang.String text)
                                         throws JiBXException
Deserialize date/time value from text in specified (or default) time zone. Date/time values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone. If the time zone indication is included a zone matching the offset is used for the date; otherwise the default time zone is used. This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeUTCDateTime

public static DateTime deserializeUTCDateTime(java.lang.String text)
                                       throws JiBXException
Deserialize UTC date/time value from text into the UTC time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to UTC, and UTC assumed if no time zone is specified). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeLocalDateTime

public static DateTime deserializeLocalDateTime(java.lang.String text)
                                         throws JiBXException
Deserialize date/time value from text into the local (default) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to the local time zone, and the local time zone assumed if no time zone is specified). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeStrictUTCDateTime

public static DateTime deserializeStrictUTCDateTime(java.lang.String text)
                                             throws JiBXException
Deserialize UTC date/time value from text with time zone required. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign but required trailing time zone (with the time zone used to convert the value to UTC). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

deserializeStrictLocalDateTime

public static DateTime deserializeStrictLocalDateTime(java.lang.String text)
                                               throws JiBXException
Deserialize local (default zone) date/time value from text with time zone required. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign but required trailing time zone (with the time zone used to convert the value to the local time zone). This method follows standard JiBX deserializer usage requirements by accepting a null input.

Parameters:
text - text to be parsed (may be null)
Returns:
converted date, or null if passed null input
Throws:
JiBXException - on parse error

serializeZonedDateTime

public static java.lang.String serializeZonedDateTime(DateTime time)
Serialize date/time to general dateTime text. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign included if necessary. Time zone information is always included in the output, with the value determined by the zone used for the date/time.

Parameters:
time - date/time to be converted
Returns:
converted date/time text

serializeUTCDateTime

public static java.lang.String serializeUTCDateTime(DateTime time)
Serialize date/time to general dateTime text. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign included if necessary. Time zone information is always included in the output, as 'Z' to indicate UTC.

Parameters:
time - date/time to be converted
Returns:
converted date/time text


Project Web Site