private Object toLogicalType()

in src/main/java/com/epam/eco/commons/avro/converter/DefaultAvroConverters.java [159:176]


        private Object toLogicalType(Object value, Schema schema) {
            if (LogicalTypes.timestampMillis().equals(schema.getLogicalType())) {
                if (value instanceof Date) {
                    return ((Date) value).getTime();
                } else if (value instanceof LocalDateTime) {
                    return ((LocalDateTime) value).toInstant(ZoneOffset.UTC)
                                                  .toEpochMilli();
                } else if (value instanceof CharSequence) {
                    return LocalDateTime.parse((CharSequence) value)
                                        .toInstant(ZoneOffset.UTC)
                                        .toEpochMilli();
                } else if (value instanceof Long  || value instanceof Integer) {
                    return value;
                }
            }

            throw new AvroConversionException(value, schema);
        }