public class DefaultReferenceResolver extends Object implements ReferenceResolver
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.ReferenceResolver.MongoEntityReader, ReferenceResolver.ReferenceCollection
Constructor and Description |
---|
DefaultReferenceResolver(ReferenceLoader referenceLoader,
PersistenceExceptionTranslator exceptionTranslator)
Create a new instance of
DefaultReferenceResolver . |
Modifier and Type | Method and Description |
---|---|
protected ReferenceLoader |
getReferenceLoader()
The
ReferenceLoader executing the lookup. |
protected boolean |
isLazyReference(MongoPersistentProperty property)
Check if the association expressed by the given
property should be resolved lazily. |
Object |
resolveReference(MongoPersistentProperty property,
Object source,
ReferenceLookupDelegate referenceLookupDelegate,
ReferenceResolver.MongoEntityReader entityReader)
Resolve the association defined via the given property from a given source value.
|
public DefaultReferenceResolver(ReferenceLoader referenceLoader, PersistenceExceptionTranslator exceptionTranslator)
DefaultReferenceResolver
.referenceLoader
- must not be null.exceptionTranslator
- must not be null.public Object resolveReference(MongoPersistentProperty property, Object source, ReferenceLookupDelegate referenceLookupDelegate, ReferenceResolver.MongoEntityReader entityReader)
ReferenceResolver
proxy instance
in case of a lazy loading association. The resolved value is assignable to
PersistentProperty.getType()
.resolveReference
in interface ReferenceResolver
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.protected boolean isLazyReference(MongoPersistentProperty property)
property
should be resolved lazily.property
- DBRef.lazy()
,
DocumentReference.lazy()
protected ReferenceLoader getReferenceLoader()
ReferenceLoader
executing the lookup.Copyright © 2011–2022 Pivotal Software, Inc.. All rights reserved.