Module spring.data.mongodb
Class DefaultReferenceResolver
java.lang.Object
org.springframework.data.mongodb.core.convert.DefaultReferenceResolver
- All Implemented Interfaces:
ReferenceResolver
- Direct Known Subclasses:
DefaultDbRefResolver
ReferenceResolver implementation that uses a given ReferenceLookupDelegate to load and convert entity
associations expressed via a persitent property. Creates proxies for associations that should be lazily loaded.- Since:
- 3.3
- Author:
- Christoph Strobl, Mark Paluch, Anton Buzdalkin
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.data.mongodb.core.convert.ReferenceResolver
ReferenceResolver.MongoEntityReader, ReferenceResolver.ReferenceCollection -
Constructor Summary
ConstructorsConstructorDescriptionDefaultReferenceResolver(ReferenceLoader referenceLoader, PersistenceExceptionTranslator exceptionTranslator) Create a new instance ofDefaultReferenceResolver. -
Method Summary
Modifier and TypeMethodDescriptionprotected ReferenceLoaderTheReferenceLoaderexecuting the lookup.protected booleanisLazyReference(MongoPersistentProperty property) Check if the association expressed by the givenpropertyshould be resolved lazily.resolveReference(MongoPersistentProperty property, Object source, ReferenceLookupDelegate referenceLookupDelegate, ReferenceResolver.MongoEntityReader entityReader) Resolve the association defined via the given property from a given source value.
-
Constructor Details
-
DefaultReferenceResolver
public DefaultReferenceResolver(ReferenceLoader referenceLoader, PersistenceExceptionTranslator exceptionTranslator) Create a new instance ofDefaultReferenceResolver.- Parameters:
referenceLoader- must not be null.exceptionTranslator- must not be null.
-
-
Method Details
-
resolveReference
public Object resolveReference(MongoPersistentProperty property, Object source, ReferenceLookupDelegate referenceLookupDelegate, ReferenceResolver.MongoEntityReader entityReader) Description copied from interface:ReferenceResolverResolve the association defined via the given property from a given source value. May return aproxy instancein case of a lazy loading association. The resolved value is assignable toPersistentProperty.getType().- Specified by:
resolveReferencein interfaceReferenceResolver- Parameters:
property- the association defining property.source- the association source value.referenceLookupDelegate- the lookup executing component.entityReader- conversion function capable of constructing entities from raw source.- Returns:
- can be null.
-
isLazyReference
Check if the association expressed by the givenpropertyshould be resolved lazily.- Parameters:
property-- Returns:
- return true if the defined association is lazy.
- See Also:
-
getReferenceLoader
TheReferenceLoaderexecuting the lookup.- Returns:
- never null.
-