Class PersistentCollectionSerializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
-
- com.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
-
- com.fasterxml.jackson.datatype.hibernate4.PersistentCollectionSerializer
-
- All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable,com.fasterxml.jackson.databind.jsonschema.SchemaAware,com.fasterxml.jackson.databind.ser.ContextualSerializer,com.fasterxml.jackson.databind.ser.ResolvableSerializer,Serializable
public class PersistentCollectionSerializer extends com.fasterxml.jackson.databind.ser.ContainerSerializer<Object> implements com.fasterxml.jackson.databind.ser.ContextualSerializer, com.fasterxml.jackson.databind.ser.ResolvableSerializer
Wrapper serializer used to handle aspects of lazy loading that can be used for Hibernate collection datatypes; which includes bothCollectionandMaptypes (unlike in JDK).- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int_featuresHibernate-module features set, if any.protected com.fasterxml.jackson.databind.JavaType_originalTypeType for which underlying serializer was created.protected com.fasterxml.jackson.databind.JsonSerializer<Object>_serializerSerializer that does actual value serialization when value is available (either already or with forced access).protected org.hibernate.SessionFactory_sessionFactory
-
Constructor Summary
Constructors Modifier Constructor Description PersistentCollectionSerializer(com.fasterxml.jackson.databind.JavaType containerType, com.fasterxml.jackson.databind.JsonSerializer<?> serializer, int features, org.hibernate.SessionFactory sessionFactory)protectedPersistentCollectionSerializer(PersistentCollectionSerializer base, com.fasterxml.jackson.databind.JsonSerializer<?> serializer)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?>_containerSerializer()protected PersistentCollectionSerializer_withSerializer(com.fasterxml.jackson.databind.JsonSerializer<?> ser)protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?>_withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer vts)voidacceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint)com.fasterxml.jackson.databind.JsonSerializer<?>createContextual(com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.BeanProperty property)We need to resolve actual serializer once we know the context; specifically must know type of property being serialized.protected ObjectfindLazyValue(org.hibernate.collection.spi.PersistentCollection coll)com.fasterxml.jackson.databind.JsonSerializer<?>getContentSerializer()com.fasterxml.jackson.databind.JavaTypegetContentType()booleanhasSingleElement(Object value)booleanisEmpty(com.fasterxml.jackson.databind.SerializerProvider provider, Object value)booleanisEmpty(Object value)Deprecated.booleanisUnwrappingSerializer()voidresolve(com.fasterxml.jackson.databind.SerializerProvider provider)voidserialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider)voidserializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)PersistentCollectionSerializerunwrappingSerializer(com.fasterxml.jackson.databind.util.NameTransformer unwrapper)protected booleanusesLazyLoading(com.fasterxml.jackson.databind.BeanProperty property)Method called to see whether given property indicates it uses lazy resolution of reference contained.booleanusesObjectId()-
Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer
hasContentTypeAnnotation, withValueTypeSerializer
-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
-
-
-
-
Field Detail
-
_originalType
protected final com.fasterxml.jackson.databind.JavaType _originalType
Type for which underlying serializer was created.- Since:
- 2.7
-
_features
protected final int _features
Hibernate-module features set, if any.
-
_serializer
protected final com.fasterxml.jackson.databind.JsonSerializer<Object> _serializer
Serializer that does actual value serialization when value is available (either already or with forced access).
-
_sessionFactory
protected final org.hibernate.SessionFactory _sessionFactory
-
-
Constructor Detail
-
PersistentCollectionSerializer
public PersistentCollectionSerializer(com.fasterxml.jackson.databind.JavaType containerType, com.fasterxml.jackson.databind.JsonSerializer<?> serializer, int features, org.hibernate.SessionFactory sessionFactory)
-
PersistentCollectionSerializer
protected PersistentCollectionSerializer(PersistentCollectionSerializer base, com.fasterxml.jackson.databind.JsonSerializer<?> serializer)
- Since:
- 2.7
-
-
Method Detail
-
unwrappingSerializer
public PersistentCollectionSerializer unwrappingSerializer(com.fasterxml.jackson.databind.util.NameTransformer unwrapper)
- Overrides:
unwrappingSerializerin classcom.fasterxml.jackson.databind.JsonSerializer<Object>
-
_withSerializer
protected PersistentCollectionSerializer _withSerializer(com.fasterxml.jackson.databind.JsonSerializer<?> ser)
-
_withValueTypeSerializer
protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer vts)
- Specified by:
_withValueTypeSerializerin classcom.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
-
resolve
public void resolve(com.fasterxml.jackson.databind.SerializerProvider provider) throws com.fasterxml.jackson.databind.JsonMappingException- Specified by:
resolvein interfacecom.fasterxml.jackson.databind.ser.ResolvableSerializer- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
createContextual
public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual(com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.BeanProperty property) throws com.fasterxml.jackson.databind.JsonMappingExceptionWe need to resolve actual serializer once we know the context; specifically must know type of property being serialized.- Specified by:
createContextualin interfacecom.fasterxml.jackson.databind.ser.ContextualSerializer- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
isEmpty
@Deprecated public boolean isEmpty(Object value)
Deprecated.- Overrides:
isEmptyin classcom.fasterxml.jackson.databind.JsonSerializer<Object>
-
isEmpty
public boolean isEmpty(com.fasterxml.jackson.databind.SerializerProvider provider, Object value)- Overrides:
isEmptyin classcom.fasterxml.jackson.databind.JsonSerializer<Object>
-
isUnwrappingSerializer
public boolean isUnwrappingSerializer()
- Overrides:
isUnwrappingSerializerin classcom.fasterxml.jackson.databind.JsonSerializer<Object>
-
usesObjectId
public boolean usesObjectId()
- Overrides:
usesObjectIdin classcom.fasterxml.jackson.databind.JsonSerializer<Object>
-
acceptJsonFormatVisitor
public void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor, com.fasterxml.jackson.databind.JavaType typeHint) throws com.fasterxml.jackson.databind.JsonMappingException- Specified by:
acceptJsonFormatVisitorin interfacecom.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable- Overrides:
acceptJsonFormatVisitorin classcom.fasterxml.jackson.databind.ser.std.StdSerializer<Object>- Throws:
com.fasterxml.jackson.databind.JsonMappingException
-
getContentType
public com.fasterxml.jackson.databind.JavaType getContentType()
- Specified by:
getContentTypein classcom.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
-
getContentSerializer
public com.fasterxml.jackson.databind.JsonSerializer<?> getContentSerializer()
- Specified by:
getContentSerializerin classcom.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
-
hasSingleElement
public boolean hasSingleElement(Object value)
- Specified by:
hasSingleElementin classcom.fasterxml.jackson.databind.ser.ContainerSerializer<Object>
-
serialize
public void serialize(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
- Specified by:
serializein classcom.fasterxml.jackson.databind.ser.std.StdSerializer<Object>- Throws:
IOException
-
serializeWithType
public void serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, com.fasterxml.jackson.databind.SerializerProvider provider, com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) throws IOException
- Overrides:
serializeWithTypein classcom.fasterxml.jackson.databind.JsonSerializer<Object>- Throws:
IOException
-
_containerSerializer
protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _containerSerializer()
-
findLazyValue
protected Object findLazyValue(org.hibernate.collection.spi.PersistentCollection coll)
-
usesLazyLoading
protected boolean usesLazyLoading(com.fasterxml.jackson.databind.BeanProperty property)
Method called to see whether given property indicates it uses lazy resolution of reference contained.
-
-