
net.dongliu.cute.http.json.JsonMarshallers Maven / Gradle / Ivy
The newest version!
package net.dongliu.cute.http.json;
import net.dongliu.commons.Lazy;
import net.dongliu.commons.reflect.Classes;
import java.util.Optional;
/**
* Utils for get JsonMarshaller
*/
public class JsonMarshallers {
/**
* Get default JsonMarshaller instance by detecting dependency.
*/
public static Optional getJsonMarshaller() {
return jsonMarshaller.get();
}
private static final Lazy> jsonMarshaller = Lazy.of(JsonMarshallers::loadJsonMarshaller);
private static Optional loadJsonMarshaller() {
if (Classes.exists("com.fasterxml.jackson.databind.ObjectMapper")) {
return Optional.of(new JacksonMarshaller());
}
if (Classes.exists("com.google.gson.Gson")) {
return Optional.of(new GsonMarshaller());
}
return Optional.empty();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy