Class XMLGregorianCalendarValue
- All Implemented Interfaces:
IValueObject<ImmutableXMLGregorianCalendar>
Zones. A source that carries its own offset (OffsetDateTime, ZonedDateTime, OffsetTime, a zoned calendar) keeps it. A source that names an instant (a Number of milliseconds, a java.util.Date, the asLong channel) is read in the session's zone and stamped with the offset that zone has at the instant. A LocalDateTime is stamped with the offset the session's zone has at that local reading, a bare LocalTime with the session's own offset. A java.sql.Timestamp is WALL-CLOCK: the fields a JDBC driver stored, recovered by Timestamp.toLocalDateTime() and stamped as a LocalDateTime is - the reading the OffsetDateTime, ZonedDateTime, LocalDateTime, LocalTime and OffsetTime arms give a Timestamp, so every route from a Timestamp to a calendar denotes one instant (CC-DEFECT-FIX-N7 ruling D-1, taken on the premise that the Timestamps reaching a Value are JDBC column values; a Timestamp built from milliseconds is an instant and belongs in a java.util.Date). A date-only source (LocalDate, Year, YearMonth, MonthDay) names no instant and no zone: its calendar carries NO zone, so one date is one calendar whatever the session converts it, and is read back in the session's zone by the zoned targets and asLong, as every zone-less calendar is (ruling D-8).
- Author:
- Christopher Mindus
Field Summary
Fields inherited from interface IValueObject
PATTERN_BASIC_ISO_DATE, PATTERN_CURRENCY, PATTERN_FULL, PATTERN_INTEGER, PATTERN_ISO_DATE, PATTERN_ISO_DATE_TIME, PATTERN_ISO_INSTANT, PATTERN_ISO_LOCAL_DATE, PATTERN_ISO_LOCAL_DATE_TIME, PATTERN_ISO_LOCAL_TIME, PATTERN_ISO_OFFSET_DATE, PATTERN_ISO_OFFSET_DATE_TIME, PATTERN_ISO_OFFSET_TIME, PATTERN_ISO_ORDINAL_DATE, PATTERN_ISO_TIME, PATTERN_ISO_WEEK_DATE, PATTERN_ISO_ZONED_DATE_TIME, PATTERN_LONG, PATTERN_MEDIUM, PATTERN_PERCENT, PATTERN_RFC_1123_DATE_TIME, PATTERN_SHORT, RESOLVER_LENIENT, RESOLVER_LENIENT_NO_BRACKETS, RESOLVER_SMART, RESOLVER_SMART_NO_BRACKETS, RESOLVER_STRICT, RESOLVER_STRICT_NO_BRACKETSConstructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionlongasLong(ImmutableXMLGregorianCalendar value, LocaleInfo localeInfo) Returns a long value if possible.convert(Object value, Value.Type oldType, LocaleInfo localeInfo) Converts a value from another type.Creates the default value object for the data type.Gets the description of the type, used for the Designer.getFormatter(String pattern, LocaleInfo localeInfo) Returns the Formatter for a pattern.Gets the class of the value.final Value.TypeGets the value type.Loads the value from an Element.Creates a Value object from a String using a specified pattern and locale.parse(String value, String pattern, LocaleInfo localeInfo) Creates a Value object from a String using a specified pattern and locale.save(ImmutableXMLGregorianCalendar value, Element element) Saves the value to an Element.The default "toString" representation.toString(ImmutableXMLGregorianCalendar value, String pattern, LocaleInfo localeInfo) Formats the value to a String.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IValueObject
asLongCast, isRightAligned, saveCast, toStringCast, toStringForced
Constructor Details
XMLGregorianCalendarValue
public XMLGregorianCalendarValue()
Method Details
getValueType
Gets the value type.- Specified by:
getValueTypein interfaceIValueObject<ImmutableXMLGregorianCalendar>- Returns:
- Value.Type.XMLGregorianCalendar.
getValueClass
Gets the class of the value.- Specified by:
getValueClassin interfaceIValueObject<ImmutableXMLGregorianCalendar>
getDescription
Gets the description of the type, used for the Designer.- Specified by:
getDescriptionin interfaceIValueObject<ImmutableXMLGregorianCalendar>
createDefault
Creates the default value object for the data type.- Specified by:
createDefaultin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Returns:
- The default value.
parse
Creates a Value object from a String using a specified pattern and locale.- Specified by:
parsein interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value, never null.- Returns:
- The value object, never null.
- Throws:
NullPointerException- Ifvalueis null. Guarded BEFORE the try: the catch below is deliberately broad, and without this the NPE fromvalue.trim()was repackaged as a ParseException, reporting a malformed date where the fault is a missing one.ParseException- For parsing errors.
parse
public ImmutableXMLGregorianCalendar parse(String value, String pattern, LocaleInfo localeInfo) throws ParseException, IllegalArgumentException, Exception Creates a Value object from a String using a specified pattern and locale.- Specified by:
parsein interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value, never null.pattern- The pattern, null for none.localeInfo- The locale info, null for default.- Returns:
- The value object, never null.
- Throws:
ParseException- If the value could not be parsed.IllegalArgumentException- For pattern errors.Exception- For other errors.
getFormatter
Returns the Formatter for a pattern.- Specified by:
getFormatterin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
pattern- The pattern to use, null for none.localeInfo- The locale information instance, or null for none.- Returns:
- The formatter to use, or null for none.
toString
The default "toString" representation.- Specified by:
toStringin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value could be null.- Returns:
- The String representation.
toString
Formats the value to a String.- Specified by:
toStringin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value is never null.pattern- Pattern to use, null for none.localeInfo- The locale information instance, or null for none.- Returns:
- The String representation using specified pattern and locale information.
load
Loads the value from an Element.- Specified by:
loadin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The String value in the element.element- The element holding the information for advanced processing using JAXB.- Throws:
Exception- An exception due to parsing, bean unmarshalling, etc.
save
Saves the value to an Element.- Specified by:
savein interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value to save.element- The element to save information into for advanced processing using JAXB.- Returns:
- The String value to set in the Element, or null if advanced processing is used.
- Throws:
Exception
convert
public ImmutableXMLGregorianCalendar convert(Object value, Value.Type oldType, LocaleInfo localeInfo) throws Exception Converts a value from another type. If the type is not defined, check the object instance for possible conversions.- Specified by:
convertin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The value to convert.oldType- The old type, null for not defined.localeInfo- The locale information, null to look-up from current thread or if not found, for system default.- Returns:
- The value object.
- Throws:
Exception- For other errors.
asLong
Returns a long value if possible.- Specified by:
asLongin interfaceIValueObject<ImmutableXMLGregorianCalendar>- Parameters:
value- The Value object.localeInfo- The locale information, null to look-up from current thread or if not found, for system default.- Returns:
- The long value, e.g. in milliseconds, or Long.MIN_VALUE for not possible.