All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.dongliu.cute.http.jsonb.JsonBMarshaller Maven / Gradle / Ivy

package net.dongliu.cute.http.jsonb;

import net.dongliu.cute.http.json.JsonMarshaller;
import org.checkerframework.checker.nullness.qual.Nullable;

import javax.json.bind.Jsonb;
import javax.json.bind.JsonbBuilder;
import java.io.Reader;
import java.io.Writer;
import java.lang.reflect.Type;

/**
 * JsonMarshaller JsonB implementation
 */
public class JsonBMarshaller implements JsonMarshaller {
    private final Jsonb jsonb;

    public JsonBMarshaller() {
        this(JsonbBuilder.create());
    }

    public JsonBMarshaller(Jsonb jsonb) {
        this.jsonb = jsonb;
    }

    @Override
    public void marshal(@Nullable Object value, Writer writer) {
        jsonb.toJson(value, writer);
    }

    @Override
    public  @Nullable T unmarshal(Reader reader, Type type) {
        return jsonb.fromJson(reader, type);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy