Class JsonPropertyAccessor
java.lang.Object
org.springframework.integration.json.JsonPropertyAccessor
- All Implemented Interfaces:
org.springframework.expression.PropertyAccessor
public class JsonPropertyAccessor
extends java.lang.Object
implements org.springframework.expression.PropertyAccessor
A SpEL
PropertyAccessor
that knows how to read properties from JSON objects.
Uses Jackson JsonNode
API for nested properties access.- Since:
- 3.0
-
Constructor Summary
Constructors Constructor Description JsonPropertyAccessor()
-
Method Summary
Modifier and Type Method Description boolean
canRead(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
boolean
canWrite(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
java.lang.Class<?>[]
getSpecificTargetClasses()
org.springframework.expression.TypedValue
read(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)
void
setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
static java.lang.Object
wrap(com.fasterxml.jackson.databind.JsonNode json)
void
write(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name, java.lang.Object newValue)
-
Constructor Details
-
JsonPropertyAccessor
public JsonPropertyAccessor()
-
-
Method Details
-
setObjectMapper
public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
getSpecificTargetClasses
public java.lang.Class<?>[] getSpecificTargetClasses()- Specified by:
getSpecificTargetClasses
in interfaceorg.springframework.expression.PropertyAccessor
-
canRead
public boolean canRead(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name) throws org.springframework.expression.AccessException- Specified by:
canRead
in interfaceorg.springframework.expression.PropertyAccessor
- Throws:
org.springframework.expression.AccessException
-
read
public org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext context, @Nullable java.lang.Object target, java.lang.String name) throws org.springframework.expression.AccessException- Specified by:
read
in interfaceorg.springframework.expression.PropertyAccessor
- Throws:
org.springframework.expression.AccessException
-
canWrite
public boolean canWrite(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)- Specified by:
canWrite
in interfaceorg.springframework.expression.PropertyAccessor
-
write
public void write(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name, java.lang.Object newValue)- Specified by:
write
in interfaceorg.springframework.expression.PropertyAccessor
-
wrap
public static java.lang.Object wrap(com.fasterxml.jackson.databind.JsonNode json) throws org.springframework.expression.AccessException- Throws:
org.springframework.expression.AccessException
-