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
-