Class DefaultDbRefResolver
java.lang.Object
org.springframework.data.mongodb.core.convert.DefaultReferenceResolver
org.springframework.data.mongodb.core.convert.DefaultDbRefResolver
- All Implemented Interfaces:
DbRefResolver, ReferenceResolver
public class DefaultDbRefResolver
extends DefaultReferenceResolver
implements DbRefResolver, ReferenceResolver
A
DbRefResolver that resolves DBRefs by delegating to a
DbRefResolverCallback than is able to generate lazy loading proxies.- Since:
- 1.4
- Author:
- Thomas Darimont, Oliver Gierke, Christoph Strobl, Mark Paluch
-
Nested Class Summary
Nested classes/interfaces inherited from interface ReferenceResolver
ReferenceResolver.MongoEntityReader, ReferenceResolver.ReferenceCollection -
Constructor Summary
ConstructorsConstructorDescriptionDefaultDbRefResolver(MongoDatabaseFactory mongoDbFactory) Creates a newDefaultDbRefResolverwith the givenMongoDatabaseFactory. -
Method Summary
Modifier and TypeMethodDescriptionList<org.bson.Document> Loads a givenListofDBRefs from the datasource in one batch.@Nullable org.bson.Documentfetch(com.mongodb.DBRef dbRef) Actually loads theDBReffrom the datasource.protected com.mongodb.client.MongoCollection<org.bson.Document> getCollection(com.mongodb.DBRef dbref) Customization hook for obtaining theMongoCollectionfor a givenDBRef.protected com.mongodb.client.MongoCollection<org.bson.Document> @Nullable ObjectresolveDbRef(MongoPersistentProperty property, @Nullable com.mongodb.DBRef dbref, DbRefResolverCallback callback, DbRefProxyHandler handler) Resolves the givenDBRefinto an object of the givenMongoPersistentProperty's type.Methods inherited from class DefaultReferenceResolver
getReferenceLoader, isLazyReference, resolveReferenceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DbRefResolver
createDbRefMethods inherited from interface ReferenceResolver
resolveReference
-
Constructor Details
-
DefaultDbRefResolver
Creates a newDefaultDbRefResolverwith the givenMongoDatabaseFactory.- Parameters:
mongoDbFactory- must not be null.
-
-
Method Details
-
resolveDbRef
public @Nullable Object resolveDbRef(MongoPersistentProperty property, @Nullable com.mongodb.DBRef dbref, DbRefResolverCallback callback, DbRefProxyHandler handler) Description copied from interface:DbRefResolverResolves the givenDBRefinto an object of the givenMongoPersistentProperty's type. The method might return a proxy object for theDBRefor resolve it immediately. In both cases theDbRefResolverCallbackwill be used to obtain the actual backing object.- Specified by:
resolveDbRefin interfaceDbRefResolver- Parameters:
property- will never be null.dbref- theDBRefto resolve.callback- will never be null.- Returns:
- can be null.
-
fetch
public @Nullable org.bson.Document fetch(com.mongodb.DBRef dbRef) Description copied from interface:DbRefResolverActually loads theDBReffrom the datasource.- Specified by:
fetchin interfaceDbRefResolver- Parameters:
dbRef- must not be null.- Returns:
- can be null.
-
bulkFetch
Description copied from interface:DbRefResolverLoads a givenListofDBRefs from the datasource in one batch. The resultingListofDocumentwill reflect the ordering of theDBRefpassed in.
TheDBRefelements in the list must not reference different collections.- Specified by:
bulkFetchin interfaceDbRefResolver- Parameters:
refs- must not be null.- Returns:
- never null.
-
getCollection
protected com.mongodb.client.MongoCollection<org.bson.Document> getCollection(com.mongodb.DBRef dbref) Customization hook for obtaining theMongoCollectionfor a givenDBRef.- Parameters:
dbref- must not be null.- Returns:
- the
MongoCollectionthe givenDBRefpoints to. - Since:
- 2.1
-
getCollection
protected com.mongodb.client.MongoCollection<org.bson.Document> getCollection(ReferenceResolver.ReferenceCollection context)
-