Package io.jmix.rest.transform
Class AbstractEntityJsonTransformer
java.lang.Object
io.jmix.rest.transform.AbstractEntityJsonTransformer
- All Implemented Interfaces:
 EntityJsonTransformer
- Direct Known Subclasses:
 StandardEntityJsonTransformer
Class containing a basic functionality of standard JSON transformer. It doest the following transformations:
 
- change entity name
 - change attribute name
 - remove attribute
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JsonTransformationDirectionprotected Stringprotected RestJsonTransformationsprotected static final org.slf4j.Loggerprotected Stringprotected String - 
Constructor Summary
ConstructorsConstructorDescriptionAbstractEntityJsonTransformer(String fromEntityName, String toEntityName, String version, JsonTransformationDirection direction)  - 
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoCustomTransformations(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Override this method in the subclass to perform custom transformationsprotected voidremoveAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) protected voidrenameAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) protected voidreplaceEntityName(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) voidsetAttributesToRemove(Set<String> attributesToRemove) voidsetAttributesToRename(Map<String, String> attributesToRename) voidsetDirection(JsonTransformationDirection direction) voidsetFromEntityName(String fromEntityName) voidsetToEntityName(String toEntityName) voidsetVersion(String version) protected voidtransformEntityJson(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) transformJson(String json) Method checks whether the passed JSON is an array of entities and if so it executes thetransformEntityJson(ObjectNode, ObjectMapper)method for each array element.protected voidtransformNestedToManyReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) protected voidtransformNestedToOneReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper)  
- 
Field Details
- 
log
protected static final org.slf4j.Logger log - 
fromEntityName
 - 
toEntityName
 - 
attributesToRename
 - 
version
 - 
direction
 - 
attributesToRemove
 - 
jsonTransformations
 
 - 
 - 
Constructor Details
- 
AbstractEntityJsonTransformer
public AbstractEntityJsonTransformer(String fromEntityName, String toEntityName, String version, JsonTransformationDirection direction)  
 - 
 - 
Method Details
- 
getTransformedEntityName
- Specified by:
 getTransformedEntityNamein interfaceEntityJsonTransformer
 - 
transformJson
Method checks whether the passed JSON is an array of entities and if so it executes thetransformEntityJson(ObjectNode, ObjectMapper)method for each array element. Method executes thetransformEntityJson(ObjectNode, ObjectMapper)method otherwise.- Specified by:
 transformJsonin interfaceEntityJsonTransformer- Parameters:
 json- JSON containing an entity or a list of entities- Returns:
 - transformed JSON
 
 - 
transformEntityJson
protected void transformEntityJson(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
 IOException
 - 
removeAttributes
protected void removeAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode)  - 
transformNestedToOneReferences
protected void transformNestedToOneReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
 IOException
 - 
transformNestedToManyReferences
protected void transformNestedToManyReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
 IOException
 - 
renameAttributes
protected void renameAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode)  - 
replaceEntityName
protected void replaceEntityName(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode)  - 
doCustomTransformations
protected void doCustomTransformations(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Override this method in the subclass to perform custom transformations - 
getFromEntityName
 - 
setFromEntityName
 - 
getToEntityName
 - 
setToEntityName
 - 
getAttributesToRename
 - 
setAttributesToRename
 - 
getVersion
 - 
setVersion
 - 
getDirection
 - 
setDirection
 - 
getAttributesToRemove
 - 
setAttributesToRemove
 
 -