org.avaje.ebeanorm.jackson.JacksonEbeanModule Maven / Gradle / Ivy
package org.avaje.ebeanorm.jackson;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.text.json.JsonContext;
import com.fasterxml.jackson.databind.module.SimpleModule;
/**
* Jackson module that uses Ebean's JsonContext for serializing and deserializing entity beans.
*/
public class JacksonEbeanModule extends SimpleModule {
final JsonContext jsonContext;
/**
* Construct with a JsonContext obtained from an EbeanServer.
*/
public JacksonEbeanModule(JsonContext jsonContext) {
this.jsonContext = jsonContext;
}
/**
* Construct using the JsonContext from the default EbeanServer.
*/
public JacksonEbeanModule(){
// delay getting the jsonContext until setupModule
this.jsonContext = null;
}
@Override
public String getModuleName() {
return "jackson-datatype-ebean";
}
/**
* Register the Ebean specific serialisers and deserialisers.
*/
@Override
public void setupModule(SetupContext context) {
JsonContext jc = (jsonContext != null) ? jsonContext : Ebean.json();
context.addSerializers(new FindSerializers(jc));
context.addDeserializers(new FindDeserializers(jc));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy