Class AvroCoder.JodaTimestampConversion

  • Enclosing class:
    AvroCoder<T>

    public static class AvroCoder.JodaTimestampConversion
    extends org.apache.avro.Conversion<org.joda.time.DateTime>
    Conversion for DateTime.

    This is a copy from Avro 1.8's TimestampConversion, which is renamed in Avro 1.9. Defining own copy gives flexibility for Beam Java SDK to work with Avro 1.8 and 1.9 at runtime.

    See Also:
    BEAM-9144: Beam's own Avro TimeConversion class in beam-sdk-java-core
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.joda.time.DateTime fromLong​(java.lang.Long millisFromEpoch, org.apache.avro.Schema schema, org.apache.avro.LogicalType type)  
      java.lang.Class<org.joda.time.DateTime> getConvertedType()  
      java.lang.String getLogicalTypeName()  
      java.lang.Long toLong​(org.joda.time.DateTime timestamp, org.apache.avro.Schema schema, org.apache.avro.LogicalType type)  
      • Methods inherited from class org.apache.avro.Conversion

        fromArray, fromBoolean, fromBytes, fromCharSequence, fromDouble, fromEnumSymbol, fromFixed, fromFloat, fromInt, fromMap, fromRecord, getRecommendedSchema, toArray, toBoolean, toBytes, toCharSequence, toDouble, toEnumSymbol, toFixed, toFloat, toInt, toMap, toRecord
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JodaTimestampConversion

        public JodaTimestampConversion()
    • Method Detail

      • getConvertedType

        public java.lang.Class<org.joda.time.DateTime> getConvertedType()
        Specified by:
        getConvertedType in class org.apache.avro.Conversion<org.joda.time.DateTime>
      • getLogicalTypeName

        public java.lang.String getLogicalTypeName()
        Specified by:
        getLogicalTypeName in class org.apache.avro.Conversion<org.joda.time.DateTime>
      • fromLong

        public org.joda.time.DateTime fromLong​(java.lang.Long millisFromEpoch,
                                               org.apache.avro.Schema schema,
                                               org.apache.avro.LogicalType type)
        Overrides:
        fromLong in class org.apache.avro.Conversion<org.joda.time.DateTime>
      • toLong

        public java.lang.Long toLong​(org.joda.time.DateTime timestamp,
                                     org.apache.avro.Schema schema,
                                     org.apache.avro.LogicalType type)
        Overrides:
        toLong in class org.apache.avro.Conversion<org.joda.time.DateTime>