Skip to content

Commit e002ec5

Browse files
yawkatcowtowncoder
authored andcommitted
Implement pair deserialization for eclipse-collections (#37)
1 parent cbb0805 commit e002ec5

File tree

4 files changed

+578
-4
lines changed

4 files changed

+578
-4
lines changed

eclipse-collections/gen.py

+12
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,15 @@
8282
for v in value_types:
8383
print(" INSTANCES.put("+k+v+"Map.class, "+k.upper()+"_"+v.upper()+");")
8484
print(" }")
85+
86+
87+
print()
88+
print()
89+
print("PairInstantiators:")
90+
for one in value_types:
91+
print(" //region "+one+" -> Primitive")
92+
for two in value_types:
93+
print("""purePrimitiveInstantiator(OneTTwoTPair.class, oneT.class, twoT.class,
94+
(one, two) -> PrimitiveTuples.pair((oneT) one, (twoT) two));"""
95+
.replace("OneT", one).replace("TwoT", two).replace("oneT", one.lower()).replace("twoT", two.lower()))
96+
print(" //endregion")

eclipse-collections/src/main/java/com/fasterxml/jackson/datatype/eclipsecollections/EclipseCollectionsModule.java

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.fasterxml.jackson.core.Version;
44
import com.fasterxml.jackson.databind.Module;
5+
import com.fasterxml.jackson.databind.deser.ValueInstantiators;
6+
import com.fasterxml.jackson.datatype.eclipsecollections.deser.pair.PairInstantiators;
57

68
/**
79
* Basic Jackson {@link Module} that adds support for eclipse-collections types.
@@ -27,6 +29,8 @@ public Version version() {
2729
public void setupModule(SetupContext context) {
2830
context.addDeserializers(new EclipseCollectionsDeserializers());
2931
context.addSerializers(new EclipseCollectionsSerializers());
32+
33+
context.addValueInstantiators(new PairInstantiators());
3034
}
3135

3236
@Override

0 commit comments

Comments
 (0)