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 booleancanRead(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)booleancanWrite(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)java.lang.Class<?>[]getSpecificTargetClasses()org.springframework.expression.TypedValueread(org.springframework.expression.EvaluationContext context, java.lang.Object target, java.lang.String name)voidsetObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)static java.lang.Objectwrap(com.fasterxml.jackson.databind.JsonNode json)voidwrite(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:
getSpecificTargetClassesin 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:
canReadin 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:
readin 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:
canWritein 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:
writein 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
-