package se.cambio.cds.util.export; import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.openehr.rm.datatypes.basic.DataValue; import se.cambio.cds.model.instance.ArchetypeReference; public class ArchetypeReferenceGsonFactory { public ArchetypeReferenceGsonFactory() { } public Gson create(){ return new GsonBuilder() .setPrettyPrinting() .registerTypeAdapter(DataValue.class, new DataValueJsonSerializer()) .registerTypeAdapter(ArchetypeReference.class, new ArchetypeReferenceJsonSerializer()) .setExclusionStrategies(new ExclusionStrategy() { @Override public boolean shouldSkipField(FieldAttributes f) { return f.getName().equals("archetypeReference"); } @Override public boolean shouldSkipClass(Class<?> clazz) { return false; } }) .create(); } }