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 SummaryFieldsModifier and TypeFieldDescriptionprotected JsonTransformationDirectionprotected Stringprotected RestJsonTransformationsprotected static final org.slf4j.Loggerprotected Stringprotected String
- 
Constructor SummaryConstructorsConstructorDescriptionAbstractEntityJsonTransformer(String fromEntityName, String toEntityName, String version, JsonTransformationDirection direction) 
- 
Method SummaryModifier 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- 
logprotected static final org.slf4j.Logger log
- 
fromEntityName
- 
toEntityName
- 
attributesToRename
- 
version
- 
direction
- 
attributesToRemove
- 
jsonTransformations
 
- 
- 
Constructor Details- 
AbstractEntityJsonTransformerpublic AbstractEntityJsonTransformer(String fromEntityName, String toEntityName, String version, JsonTransformationDirection direction) 
 
- 
- 
Method Details- 
getTransformedEntityName- Specified by:
- getTransformedEntityNamein interface- EntityJsonTransformer
 
- 
transformJsonMethod 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 interface- EntityJsonTransformer
- Parameters:
- json- JSON containing an entity or a list of entities
- Returns:
- transformed JSON
 
- 
transformEntityJsonprotected void transformEntityJson(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
- IOException
 
- 
removeAttributesprotected void removeAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) 
- 
transformNestedToOneReferencesprotected void transformNestedToOneReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
- IOException
 
- 
transformNestedToManyReferencesprotected void transformNestedToManyReferences(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode, com.fasterxml.jackson.databind.ObjectMapper objectMapper) throws IOException - Throws:
- IOException
 
- 
renameAttributesprotected void renameAttributes(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) 
- 
replaceEntityNameprotected void replaceEntityName(com.fasterxml.jackson.databind.node.ObjectNode rootObjectNode) 
- 
doCustomTransformationsprotected 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
 
-