Class AbstractConverter

java.lang.Object
org.joda.time.convert.AbstractConverter
All Implemented Interfaces:
Converter

public abstract class AbstractConverter extends Object implements Converter
AbstractConverter simplifies the process of implementing a converter.
Since:
1.0
Author:
Stephen Colebourne
  • Constructor Details

    • AbstractConverter

      protected AbstractConverter()
      Restricted constructor.
  • Method Details

    • getInstantMillis

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

      This implementation returns the current time.

      Parameters:
      object - the object to convert
      chrono - the chronology to use, which is always non-null
      Returns:
      the millisecond value
    • getChronology

      public Chronology getChronology(Object object, DateTimeZone zone)
      Extracts the chronology from an object of this converter's type where the time zone is specified.

      This implementation returns the ISO chronology.

      Parameters:
      object - the object to convert
      zone - the specified zone to use, null means default zone
      Returns:
      the chronology, never null
    • getChronology

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

      This implementation returns the chronology specified, or the ISO chronology in the default zone if null passed in.

      Parameters:
      object - the object to convert
      chrono - the chronology to use, null means ISO default
      Returns:
      the chronology, never null
    • getPartialValues

      public int[] getPartialValues(ReadablePartial fieldSource, Object object, Chronology chrono)
      Extracts the values of the partial from an object of this converter's type. The chrono parameter is a hint to the converter, should it require a chronology to aid in conversion.

      This implementation calls getInstantMillis(Object, Chronology).

      Parameters:
      fieldSource - a partial that provides access to the fields. This partial may be incomplete and only getFieldType(int) should be used
      object - the object to convert
      chrono - the chronology to use, which is the non-null result of getChronology()
      Returns:
      the array of field values that match the fieldSource, must be non-null valid
      Throws:
      ClassCastException - if the object is invalid
    • getPartialValues

      public int[] getPartialValues(ReadablePartial fieldSource, Object object, Chronology chrono, DateTimeFormatter parser)
      Extracts the values of the partial from an object of this converter's type. The chrono parameter is a hint to the converter, should it require a chronology to aid in conversion.

      This implementation calls getPartialValues(ReadablePartial, Object, Chronology).

      Parameters:
      fieldSource - a partial that provides access to the fields. This partial may be incomplete and only getFieldType(int) should be used
      object - the object to convert
      chrono - the chronology to use, which is the non-null result of getChronology()
      parser - if converting from a String, the given parser is preferred
      Returns:
      the array of field values that match the fieldSource, must be non-null valid
      Throws:
      ClassCastException - if the object is invalid
      Since:
      1.3
    • getPeriodType

      public PeriodType getPeriodType(Object object)
      Selects a suitable period type for the given object.
      Parameters:
      object - the object to examine
      Returns:
      the period type, never null
    • isReadableInterval

      public boolean isReadableInterval(Object object, Chronology chrono)
      Checks if the input is a ReadableInterval.

      If it is, then the calling code should cast and copy the fields directly.

      Parameters:
      object - the object to convert
      chrono - the chronology to use, may be null
      Returns:
      true if the input is a ReadableInterval
    • toString

      public String toString()
      Gets a debugging string version of this converter.
      Overrides:
      toString in class Object
      Returns:
      a debugging string