private static final Time[] EMPTY_ARRAY = new Time[0];
@Override
public Time doNotNullDemarshall(final EJValue o, final MarshallingSession ctx) {
if (o.isObject() != null) {
EJValue qualifiedValue = o.isObject().get(SerializationParts.QUALIFIED_VALUE);
if (!qualifiedValue.isNull() && qualifiedValue.isString() != null) {
return new Time(Long.parseLong(qualifiedValue.isString().stringValue()));
}
EJValue numericValue = o.isObject().get(SerializationParts.NUMERIC_VALUE);
if (!numericValue.isNull() && numericValue.isNumber() != null) {
return new Time(new Double(numericValue.isNumber().doubleValue()).longValue());
}
if (!numericValue.isNull() && numericValue.isString() != null) {
return new Time(Long.parseLong(numericValue.isString().stringValue()));
}
}
return null;
}