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. This may fail and if so, a warning is logged and ZoneOffset.UTC is returned.
    • 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