Class TemporalSwap

Direct Known Subclasses:
TemporalSwap.BasicIsoDate, TemporalSwap.IsoDate, TemporalSwap.IsoDateTime, TemporalSwap.IsoInstant, TemporalSwap.IsoLocalDate, TemporalSwap.IsoLocalDateTime, TemporalSwap.IsoLocalTime, TemporalSwap.IsoOffsetDate, TemporalSwap.IsoOffsetDateTime, TemporalSwap.IsoOffsetTime, TemporalSwap.IsoOrdinalDate, TemporalSwap.IsoTime, TemporalSwap.IsoWeekDate, TemporalSwap.IsoYear, TemporalSwap.IsoYearMonth, TemporalSwap.IsoZonedDateTime, TemporalSwap.Rfc1123DateTime

public class TemporalSwap extends StringSwap<Temporal>
Swap that converts Temporal objects to strings.

Uses the DateTimeFormatter class for converting Temporal objects to and from strings.

Supports any of the following temporal objects:

See Also:
  • Constructor Details

    • TemporalSwap

      public TemporalSwap(String pattern, boolean zoneOptional)
      Constructor.
      Parameters:
      pattern - The timestamp format or name of predefined DateTimeFormatter.
      zoneOptional - true if the time zone on the pattern is optional.
  • Method Details

    • zoneOptional

      protected boolean zoneOptional()
      Returns true if the time zone on the pattern is optional.

      If it's not optional, then local dates/times must be converted into zoned times using the session time zone. Otherwise, local date/times are fine.

      Returns:
      true if the time zone on the pattern is optional.
    • swap

      public String swap(BeanSession session, Temporal o) throws Exception
      Description copied from class: ObjectSwap
      If this transform is to be used to serialize non-serializable objects, it must implement this method.

      The object must be converted into one of the following serializable types:

      • String
      • Number
      • Boolean
      • Collection containing anything on this list.
      • Map containing anything on this list.
      • A java bean with properties of anything on this list.
      • An array of anything on this list.
      Overrides:
      swap in class StringSwap<Temporal>
      Parameters:
      session - The bean session to use to get the class meta. This is always going to be the same bean context that created this swap.
      o - The object to be transformed.
      Returns:
      The transformed object.
      Throws:
      Exception - If a problem occurred trying to convert the output.
    • convertToSerializable

      Converts the specified temporal object to a form suitable to be serialized using any pattern.
      Parameters:
      session - The current bean session.
      t - The temporal object to convert.
      Returns:
      The converted temporal object.
    • unswap

      public Temporal unswap(BeanSession session, String f, ClassMeta<?> hint) throws Exception
      Description copied from class: ObjectSwap
      If this transform is to be used to reconstitute objects that aren't true Java beans, it must implement this method.
      Overrides:
      unswap in class StringSwap<Temporal>
      Parameters:
      session - The bean session to use to get the class meta. This is always going to be the same bean context that created this swap.
      f - The transformed object.
      hint - If possible, the parser will try to tell you the object type being created. For example, on a serialized date, this may tell you that the object being created must be of type GregorianCalendar.
      This may be null if the parser cannot make this determination.
      Returns:
      The narrowed object.
      Throws:
      Exception - If this method is not implemented.