Example usage for com.google.gson GsonBuilder registerTypeHierarchyAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeHierarchyAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeHierarchyAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeHierarchyAdapter(Class<?> baseType, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization for an inheritance type hierarchy.

Usage

From source file:nl.talsmasoftware.enumerables.support.json.gson.EnumerableGsonBuilderFactory.java

License:Apache License

/**
 * This method allows an existing GSON builder to be configured to also provide serialization and deserialization
 * for {@link Enumerable} objects./*from   w w  w  .j  a  v  a2 s .co m*/
 *
 * @param gsonBuilder         The GSON builder to be configured.
 * @param serializationMethod Serialization method that determines which <code>Enumerable</code> types will be
 *                            serialized as plain JSON String values and which types will be serialized as reflected
 *                            JSON objects.
 * @return The reference to the configured GSON builder.
 */
public static GsonBuilder configureGsonBuilder(GsonBuilder gsonBuilder,
        SerializationMethod serializationMethod) {
    if (gsonBuilder != null) {
        gsonBuilder = gsonBuilder
                .registerTypeHierarchyAdapter(Enumerable.class, new EnumerableSerializer(serializationMethod))
                .registerTypeHierarchyAdapter(Enumerable.class, new EnumerableDeserializer());
    }
    return gsonBuilder;
}

From source file:nl.tue.iot.reservation.ReservationServlet.java

License:Open Source License

public ReservationServlet(LwM2mServer server, int securePort) {
    this.server = server;

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Client.class, new ClientSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mResponse.class, new ResponseSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeDeserializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}

From source file:org.apache.tika.eval.tokens.AnalyzerManager.java

License:Apache License

public static AnalyzerManager newInstance() throws IOException {
    InputStream is = AnalyzerManager.class.getClassLoader().getResourceAsStream("lucene-analyzers.json");
    Reader reader = new InputStreamReader(is, StandardCharsets.UTF_8);
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeHierarchyAdapter(Map.class, new AnalyzerDeserializer());
    Gson gson = builder.create();/*from   w  w  w .j a  va  2 s.co  m*/
    Map<String, Analyzer> map = gson.fromJson(reader, Map.class);
    Analyzer general = map.get(GENERAL);
    Analyzer alphaIdeo = map.get(ALPHA_IDEOGRAPH);
    Analyzer common = map.get(COMMON_TOKENS);
    if (general == null) {
        throw new JsonParseException("Must specify " + GENERAL + " analyzer");
    }
    if (common == null) {
        throw new JsonParseException("Must specify " + COMMON_TOKENS + " analyzer");
    }

    return new AnalyzerManager(general, common);
}

From source file:org.apache.tika.metadata.serialization.JsonMetadataBase.java

License:Apache License

static Gson defaultInit() {
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeHierarchyAdapter(Metadata.class, new JsonMetadataSerializer());
    builder.registerTypeHierarchyAdapter(Metadata.class, new JsonMetadataDeserializer());
    return builder.create();
}

From source file:org.apache.tika.metadata.serialization.JsonMetadataBase.java

License:Apache License

static Gson prettyInit() {
    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeHierarchyAdapter(Metadata.class, new SortedJsonMetadataSerializer());
    builder.registerTypeHierarchyAdapter(Metadata.class, new JsonMetadataDeserializer());
    builder.setPrettyPrinting();//from   w  w w  .  j ava  2 s . c  o  m
    return builder.create();
}

From source file:org.apache.zeppelin.rest.exception.WebApplicationExceptionMapper.java

License:Apache License

public WebApplicationExceptionMapper() {
    GsonBuilder gsonBuilder = new GsonBuilder().enableComplexMapKeySerialization();
    gsonBuilder.registerTypeHierarchyAdapter(Exception.class, new ExceptionSerializer());
    this.gson = gsonBuilder.create();
}

From source file:org.civilian.content.GsonJsonSerializer.java

License:Open Source License

/**
 * Creates a new JsonSerializer. The gson object of the serializer
 * is obtained from the builder//from  www. ja v a2s  .  c  o  m
 */
public GsonJsonSerializer(GsonBuilder builder) {
    Check.notNull(builder, "builder");
    builder.registerTypeHierarchyAdapter(KeyList.class, new KeyListSerializer());
    gson_ = builder.create();
}

From source file:org.eclipse.leshan.server.demo.servlet.ClientServlet.java

License:Open Source License

public ClientServlet(LwM2mServer server) {
    this.server = server;

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Registration.class,
            new RegistrationSerializer(server.getPresenceService()));
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mResponse.class, new ResponseSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeDeserializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}

From source file:org.eclipse.leshan.server.demo.servlet.CliServlet.java

License:Open Source License

public CliServlet(LwM2mServer server, int securePort) {
    this.server = server;

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Client.class, new ClientSerializer(securePort));
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mResponse.class, new ResponseSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeDeserializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}

From source file:org.eclipse.leshan.server.demo.servlet.EventServlet.java

License:Open Source License

public EventServlet(LeshanServer server, int securePort) {
    server.getRegistrationService().addListener(this.registrationListener);
    server.getObservationService().addListener(this.observationListener);
    server.getPresenceService().addListener(this.presenceListener);

    // add an interceptor to each endpoint to trace all CoAP messages
    coapMessageTracer = new CoapMessageTracer(server.getRegistrationService());
    for (Endpoint endpoint : server.coap().getServer().getEndpoints()) {
        endpoint.addInterceptor(coapMessageTracer);
    }/* www.j  a v  a  2  s . c o m*/

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Registration.class,
            new RegistrationSerializer(server.getPresenceService()));
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}