this.generalizedTimeFormatter = new DateTimeFormatterBuilder()
.appendValue(ChronoField.YEAR, 4)
.appendValue(ChronoField.MONTH_OF_YEAR, 2)
.appendValue(ChronoField.DAY_OF_MONTH, 2)
.appendValue(ChronoField.HOUR_OF_DAY, 2)
.optionalStart()
.appendValue(ChronoField.MINUTE_OF_HOUR, 2)
.optionalStart()
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.optionalStart()
.appendFraction(ChronoField.MILLI_OF_SECOND, 3, 3, true)
.optionalStart()
.optionalEnd() //millis
.optionalEnd() //seconds
.optionalEnd() //minutes
.optionalStart()
.appendOffset("+HHmm", "Z")
.parseDefaulting(ChronoField.OFFSET_SECONDS, 0)
.toFormatter();
Some feedback - the rfc changes to address the time format problem has been accepted, so we know what to do for the codec. I already have a working implementation.
I also looked at how we could support sequences in oer, long story short i don't think it's doable because of the type erasure - we just don't know which oer type to deserialze. I'll implement the sequence of liquidity points directly in the liquidity curve quote codec, if we find a generic way we can come back and fix it.