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
ConstructorsConstructorDescriptionJacksonMetadata(com.fasterxml.jackson.databind.ObjectMapper mapper, Class<?> type) Creates a newJacksonMetadatainstance for the givenObjectMapperand type. -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.introspect.BeanPropertyDefinitiongetDefinitionFor(PersistentProperty<?> property) Returns theBeanPropertyDefinitionfor the givenPersistentProperty.getFallbackDescription(ResourceMetadata ownerMetadata, com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition definition) Returns the fallbackResourceDescriptionto be used for the givenBeanPropertyDefinition.com.fasterxml.jackson.databind.JsonSerializer<?>getTypeSerializer(Class<?> type) Returns theJsonSerializerfor the given type, or null if none available.booleanisExported(PersistentProperty<?> property) Check if a given property for a type is available to be exported, i.e. serialized via Jackson.booleanisReadOnly(PersistentProperty<?> property) Returns whether the givenPersistentPropertyis considered read-only by Jackson.booleanReturns 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, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
JacksonMetadata
Creates a newJacksonMetadatainstance for the givenObjectMapperand type.- Parameters:
mapper- must not be null.type- must not be null.
-
-
Method Details
-
getDefinitionFor
public com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition getDefinitionFor(PersistentProperty<?> property) Returns theBeanPropertyDefinitionfor 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 fallbackResourceDescriptionto be used for the givenBeanPropertyDefinition.- Parameters:
ownerMetadata- must not be null.definition- must not be null.- Returns:
-
isExported
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
Returns whether the givenPersistentPropertyis considered read-only by Jackson.- Parameters:
property- must not be null.- Returns:
-
getTypeSerializer
Returns theJsonSerializerfor the given type, or null if none available.- Parameters:
type- must not be null.- Returns:
-
iterator
-