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 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.@Nullable ObjectresolveReference(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 @Nullable 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.
-