Class AbstractConverter

  • All Implemented Interfaces:
    Converter

    public abstract class AbstractConverter
    extends java.lang.Object
    implements Converter
    AbstractConverter simplifies the process of implementing a converter.
    Since:
    1.0
    • Method Detail

      • getInstantMillis

        public long getInstantMillis​(java.lang.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​(java.lang.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​(java.lang.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,
                                      java.lang.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:
        java.lang.ClassCastException - if the object is invalid
      • getPartialValues

        public int[] getPartialValues​(ReadablePartial fieldSource,
                                      java.lang.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:
        java.lang.ClassCastException - if the object is invalid
        Since:
        1.3
      • getPeriodType

        public PeriodType getPeriodType​(java.lang.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​(java.lang.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 java.lang.String toString()
        Gets a debugging string version of this converter.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a debugging string