
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