Class DateTypeAdapter


  • public final class DateTypeAdapter
    extends TypeAdapter<java.util.Date>
    Adapter for Date. Although this class appears stateless, it is not. DateFormat captures its time zone and locale when it is created, which gives this class state. DateFormat isn't thread safe either, so this class has to synchronize its read and write methods.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.text.DateFormat> dateFormats
      List of 1 or more different date formats used for de-serialization attempts.
      static TypeAdapterFactory FACTORY  
    • Constructor Summary

      Constructors 
      Constructor Description
      DateTypeAdapter()  
    • Field Detail

      • dateFormats

        private final java.util.List<java.text.DateFormat> dateFormats
        List of 1 or more different date formats used for de-serialization attempts. The first of them (default US format) is used for serialization as well.
    • Constructor Detail

      • DateTypeAdapter

        public DateTypeAdapter()
    • Method Detail

      • read

        public java.util.Date read​(JsonReader in)
                            throws java.io.IOException
        Description copied from class: TypeAdapter
        Reads one JSON value (an array, object, string, number, boolean or null) and converts it to a Java object. Returns the converted object.
        Specified by:
        read in class TypeAdapter<java.util.Date>
        Returns:
        the converted Java object. May be null.
        Throws:
        java.io.IOException
      • deserializeToDate

        private java.util.Date deserializeToDate​(java.lang.String json)
      • write

        public void write​(JsonWriter out,
                          java.util.Date value)
                   throws java.io.IOException
        Description copied from class: TypeAdapter
        Writes one JSON value (an array, object, string, number, boolean or null) for value.
        Specified by:
        write in class TypeAdapter<java.util.Date>
        value - the Java object to write. May be null.
        Throws:
        java.io.IOException