-
-
Notifications
You must be signed in to change notification settings - Fork 180
Open
Labels
Description
Describe the solution you'd like
Currently, the functionality of Sequence
is limited compared to Collection
and others.
For example, @JsonDeserialize(contentUsing = ...
is not available.
class SequenceTests {
val mapper = jacksonObjectMapper()
class ContentDeser : StdDeserializer<String>(String::class.java) {
override fun deserialize(p: JsonParser, ctxt: DeserializationContext): String = p.text + "-deser"
}
data class ListWrapper(@JsonDeserialize(contentUsing = ContentDeser::class) val value: List<String>)
@Test
fun listContentDeser() {
val result = mapper.readValue<ListWrapper>("""{"value":["foo"]}""")
assertEquals("foo-deser", result.value.single())
}
data class SequenceWrapper(@JsonDeserialize(contentUsing = ContentDeser::class) val value: Sequence<String>)
@Test
fun sequenceContentDeser() {
val result = mapper.readValue<SequenceWrapper>("""{"value":["foo"]}""")
assertEquals("foo-deser", result.value.single()) // -> fails
}
}
There are several other features that are not available in principle.
These features should be available.