Class TermporalAccessorValue<TYPE extends TemporalAccessor>

java.lang.Object
com.iizix.value.TermporalAccessorValue<TYPE>
All Implemented Interfaces:
IValueObject<TYPE>
Direct Known Subclasses:
LocalDateTimeValue, LocalDateValue, LocalTimeValue, MonthDayValue, OffsetDateTimeValue, OffsetTimeValue, YearMonthValue, YearValue, ZonedDateTimeValue

public abstract class TermporalAccessorValue<TYPE extends TemporalAccessor> extends Object implements IValueObject<TYPE>
TemporalAccessor Value object base class, i.e. date and time based values.
Author:
Christopher Mindus
  • Constructor Details

    • TermporalAccessorValue

      public TermporalAccessorValue()
  • Method Details

    • _getSystemZoneOffset

      public static ZoneOffset _getSystemZoneOffset()
      Helper to get the system ZoneOffset: the offset the system zone's rules give at this instant. It never fails; a region zone such as Europe/Paris answers its current offset. (ZoneId.normalized() yields an offset only for a fixed-offset zone, so the former form warned and answered UTC on every machine in a region zone: IIZI-VALUE-SYSZONE-NORMALIZED.)
      Returns:
      The system zone's offset now.
    • toGregorianCalendar

      public static GregorianCalendar toGregorianCalendar(XMLGregorianCalendar xc, LocaleInfo localeInfo)
      Unwraps an XML calendar into a Gregorian calendar for the session: a calendar that carries no timezone is read in the session's zone, never the server machine's, which is what toGregorianCalendar() alone uses (the IIZI-VALUE-SESSIONZONE-IGNORED family). A calendar that carries a timezone keeps it.
      Parameters:
      xc - The XML calendar.
      localeInfo - The locale information, null to look-up from current thread or if not found, for system default.
      Returns:
      The Gregorian calendar.
    • getFormatter

      public final Format getFormatter(String pattern, LocaleInfo localeInfo)
      Returns the Formatter for a pattern.
      Specified by:
      getFormatter in interface IValueObject<TYPE extends TemporalAccessor>
      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

      public final String toString(TYPE value)
      The default "toString" representation.
      Specified by:
      toString in interface IValueObject<TYPE extends TemporalAccessor>
      Parameters:
      value - The value could be null.
      Returns:
      The String representation.
    • toString

      public String toString(TYPE value, String pattern, LocaleInfo localeInfo)
      Formats the value to a String.
      Specified by:
      toString in interface IValueObject<TYPE extends TemporalAccessor>
      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.
    • parse

      public abstract TYPE parse(String value, DateTimeFormatter formatter) throws ParseException, Exception
      Creates a Value object from a String using a specified pattern and locale.
      Parameters:
      value - The value, never null.
      formatter - The formatter, never null.
      Returns:
      The value object, never null.
      Throws:
      ParseException - If the value could not be parsed.
      Exception - For other errors.
    • parse

      public final TYPE parse(String value, String pattern, LocaleInfo localeInfo) throws ParseException, Exception
      Creates a Value object from a String using a specified pattern and locale.
      Specified by:
      parse in interface IValueObject<TYPE extends TemporalAccessor>
      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.
      Exception - For other errors.
    • load

      public final TYPE load(String value, Element element) throws Exception
      Loads the value from an Element.
      Specified by:
      load in interface IValueObject<TYPE extends TemporalAccessor>
      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

      public final String save(TYPE value, Element element) throws Exception
      Saves the value to an Element.
      Specified by:
      save in interface IValueObject<TYPE extends TemporalAccessor>
      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