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
ConstructorDescriptionDefaultReferenceResolver
(ReferenceLoader referenceLoader, PersistenceExceptionTranslator exceptionTranslator) Create a new instance ofDefaultReferenceResolver
. -
Method Summary
Modifier and TypeMethodDescriptionprotected ReferenceLoader
TheReferenceLoader
executing the lookup.protected boolean
isLazyReference
(MongoPersistentProperty property) Check if the association expressed by the givenproperty
should 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:ReferenceResolver
Resolve the association defined via the given property from a given source value. May return aproxy instance
in case of a lazy loading association. The resolved value is assignable toPersistentProperty.getType()
.- Specified by:
resolveReference
in 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 givenproperty
should be resolved lazily.- Parameters:
property
-- Returns:
- return true if the defined association is lazy.
- See Also:
-
getReferenceLoader
TheReferenceLoader
executing the lookup.- Returns:
- never null.
-