Class JacksonMetadata
java.lang.Object
org.springframework.data.rest.webmvc.json.JacksonMetadata
- All Implemented Interfaces:
Iterable<com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition>
public class JacksonMetadata
extends Object
implements Iterable<com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition>
Value object to abstract Jackson based bean metadata of a given type.
- Author:
- Oliver Gierke, Greg Turnquist
-
Constructor Summary
ConstructorDescriptionJacksonMetadata
(com.fasterxml.jackson.databind.ObjectMapper mapper, Class<?> type) Creates a newJacksonMetadata
instance for the givenObjectMapper
and type. -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
getDefinitionFor
(org.springframework.data.mapping.PersistentProperty<?> property) Returns theBeanPropertyDefinition
for the givenPersistentProperty
.getFallbackDescription
(ResourceMetadata ownerMetadata, com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition definition) Returns the fallbackResourceDescription
to be used for the givenBeanPropertyDefinition
.com.fasterxml.jackson.databind.JsonSerializer<?>
getTypeSerializer
(Class<?> type) Returns theJsonSerializer
for the given type, or null if none available.boolean
isExported
(org.springframework.data.mapping.PersistentProperty<?> property) Check if a given property for a type is available to be exported, i.e. serialized via Jackson.boolean
isReadOnly
(org.springframework.data.mapping.PersistentProperty<?> property) Returns whether the givenPersistentProperty
is considered read-only by Jackson.boolean
Returns whether the backing type is considered a Jackson value type.Iterator<com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition>
iterator()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
JacksonMetadata
Creates a newJacksonMetadata
instance for the givenObjectMapper
and type.- Parameters:
mapper
- must not be null.type
- must not be null.
-
-
Method Details
-
getDefinitionFor
public com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition getDefinitionFor(org.springframework.data.mapping.PersistentProperty<?> property) Returns theBeanPropertyDefinition
for the givenPersistentProperty
.- Parameters:
property
- must not be null.- Returns:
- can be null in case there's no Jackson property to be exposed for the given
PersistentProperty
.
-
getFallbackDescription
public ResourceDescription getFallbackDescription(ResourceMetadata ownerMetadata, com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition definition) Returns the fallbackResourceDescription
to be used for the givenBeanPropertyDefinition
.- Parameters:
ownerMetadata
- must not be null.definition
- must not be null.- Returns:
-
isExported
public boolean isExported(org.springframework.data.mapping.PersistentProperty<?> property) Check if a given property for a type is available to be exported, i.e. serialized via Jackson.- Parameters:
property
- must not be null.- Returns:
-
isValueType
public boolean isValueType()Returns whether the backing type is considered a Jackson value type.- Returns:
- the isValue
-
isReadOnly
public boolean isReadOnly(org.springframework.data.mapping.PersistentProperty<?> property) Returns whether the givenPersistentProperty
is considered read-only by Jackson.- Parameters:
property
- must not be null.- Returns:
-
getTypeSerializer
Returns theJsonSerializer
for the given type, or null if none available.- Parameters:
type
- must not be null.- Returns:
-
iterator
-