Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package net.datenstrudel.bulbs.shared.commonTypeConverters;
 
 
 import java.util.Map;

Author(s):
Thomas Wendzinski
        implements JsonDeserializerJsonSerializer {
    //~ Member(s) //////////////////////////////////////////////////////////////
//    private final Class[] deserializableTypes;
    private final Map<IntegerClassdeserializableTypes;
    //~ Construction ///////////////////////////////////////////////////////////
    public TypeHierarchyAdapterSimpleClassname(Class... deserializableTypes) {
//        this.deserializableTypes = deserializableTypes;
        Map<IntegerClassres = new HashMap<>(deserializableTypes.length);
        for (Class clazz : deserializableTypes) {
            res.put(clazz.getSimpleName().hashCode(), clazz);
        }
        this. = ImmutableMap.copyOf(res);
    }
    //~ Method(s) //////////////////////////////////////////////////////////////
    @Override
    public JsonElement serialize(
            Object srcType typeOfSrcJsonSerializationContext context) {
        JsonElement res = context.serialize(src);
        res.getAsJsonObject().addProperty("type"src.getClass().getSimpleName());
        return res;
    }
    @Override
    public Object deserialize(
            JsonElement jsonType typeOfTJsonDeserializationContext contextthrows JsonParseException {
        final JsonObject src = json.getAsJsonObject();
        final String type = src.get("type").getAsString();
        final Class type2Deserialize = .get(type.hashCode());
        if(type2Deserialize == null){
            throw new IllegalArgumentException(
                    "Sub type not registered for deserializatoim: " + type);
        }
        return context.deserialize(jsontype2Deserialize);
    }
    //~ Private Artifact(s) ////////////////////////////////////////////////////
New to GrepCode? Check out our FAQ X