Interface InstantConverter

All Superinterfaces:
Converter

public interface InstantConverter extends Converter
InstantConverter defines how an object is converted to milliseconds/chronology.

The two methods in this interface must be called in order, as the getInstantMillis method relies on the result of the getChronology method being passed in.

Since:
1.0
Author:
Stephen Colebourne
  • Method Details

    • getChronology

      Chronology getChronology(Object object, DateTimeZone zone)
      Extracts the chronology from an object of this converter's type where the time zone is specified.
      Parameters:
      object - the object to convert
      zone - the specified zone to use, null means default zone
      Returns:
      the chronology, never null
      Throws:
      ClassCastException - if the object is invalid
    • getChronology

      Chronology getChronology(Object object, Chronology chrono)
      Extracts the chronology from an object of this converter's type where the chronology may be specified.

      If the chronology is non-null it should be used. If it is null, then the object should be queried, and if it has no chronology then ISO default is used.

      Parameters:
      object - the object to convert
      chrono - the chronology to use, null means use object
      Returns:
      the chronology, never null
      Throws:
      ClassCastException - if the object is invalid
    • getInstantMillis

      long getInstantMillis(Object object, Chronology chrono)
      Extracts the millis from an object of this converter's type.

      The chronology passed in is the result of the call to getChronology.

      Parameters:
      object - the object to convert
      chrono - the chronology to use, which is the non-null result of getChronology()
      Returns:
      the millisecond instant
      Throws:
      ClassCastException - if the object is invalid
      IllegalArgumentException - if object conversion fails