diff --git a/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java b/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java index 26f5031..73e1001 100644 --- a/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java +++ b/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java @@ -49,12 +49,14 @@ public abstract class MoshiPolymorphic { var concreteClasses = getConcreteClasses(); var extraAdapters = getExtraAdapters(); + extraAdapters.forEach(abstractMoshiBuilder::addLast); + for (Class declaredClass : abstractClasses) { var name = fixType(declaredClass.getSimpleName()); JsonAdapter adapter = new PolymorphicAdapter<>(name); abstractClassesSerializers.put(declaredClass, adapter); customAdapters.put(name, adapter); - abstractMoshiBuilder.add(declaredClass, adapter); + abstractMoshiBuilder.addLast(declaredClass, adapter); } for (Class declaredClass : concreteClasses) { @@ -62,12 +64,10 @@ public abstract class MoshiPolymorphic { JsonAdapter adapter = new NormalValueAdapter<>(name, declaredClass); concreteClassesSerializers.put(declaredClass, adapter); customAdapters.put(name, adapter); - abstractMoshiBuilder.add(declaredClass, adapter); + abstractMoshiBuilder.addLast(declaredClass, adapter); } - extraAdapters.forEach(abstractMoshiBuilder::add); - - abstractMoshiBuilder.add(new RecordsJsonAdapterFactory()); + abstractMoshiBuilder.addLast(new RecordsJsonAdapterFactory()); abstractMoshi = abstractMoshiBuilder.build(); }