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

com.avaje.ebean.text.json.JsonReadOptions Maven / Gradle / Ivy

There is a newer version: 8.1.1
Show newest version
package com.avaje.ebean.text.json;

import com.avaje.ebean.bean.PersistenceContext;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * Provides the ability to customise the reading of JSON content.
 * 

* You can register JsonReadBeanVisitors to customise the processing of the * beans as they are processed and handle any custom JSON elements that * could not be mapped to bean properties. *

*/ public class JsonReadOptions { protected final Map> visitorMap; protected Object objectMapper; protected boolean enableLazyLoading; protected PersistenceContext persistenceContext; protected Object loadContext; /** * Default constructor. */ public JsonReadOptions() { this.visitorMap = new LinkedHashMap>(); } /** * Return the map of JsonReadBeanVisitor's. */ public Map> getVisitorMap() { return visitorMap; } /** * Register a JsonReadBeanVisitor for the root level. */ public JsonReadOptions addRootVisitor(JsonReadBeanVisitor visitor) { return addVisitor(null, visitor); } /** * Register a JsonReadBeanVisitor for a given path. */ public JsonReadOptions addVisitor(String path, JsonReadBeanVisitor visitor) { visitorMap.put(path, visitor); return this; } /** * Return true if lazy loading is enabled after the objects are loaded. */ public boolean isEnableLazyLoading() { return enableLazyLoading; } /** * Set to true to enable lazy loading on partially populated beans. *

* If this is set to true a persistence context will be created if one has * not already been supplied. *

*/ public JsonReadOptions setEnableLazyLoading(boolean enableLazyLoading) { this.enableLazyLoading = enableLazyLoading; return this; } /** * Return the Jackson ObjectMapper to use (if not wanted to use the objectMapper set on the ServerConfig). */ public Object getObjectMapper() { return objectMapper; } /** * Set the Jackson ObjectMapper to use (if not wanted to use the objectMapper set on the ServerConfig). */ public JsonReadOptions setObjectMapper(Object objectMapper) { this.objectMapper = objectMapper; return this; } /** * Set the persistence context to use when building the object graph from the JSON. */ public JsonReadOptions setPersistenceContext(PersistenceContext persistenceContext) { this.persistenceContext = persistenceContext; return this; } /** * Return the persistence context to use when marshalling JSON. */ public PersistenceContext getPersistenceContext() { return persistenceContext; } /** * Return the load context to use. */ public Object getLoadContext() { return loadContext; } /** * Set the load context to use. */ public void setLoadContext(Object loadContext) { this.loadContext = loadContext; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy