Class PrefixingDelegatingAggregationOperationContext
java.lang.Object
org.springframework.data.mongodb.core.aggregation.PrefixingDelegatingAggregationOperationContext
- All Implemented Interfaces:
CodecRegistryProvider
,AggregationOperationContext
public class PrefixingDelegatingAggregationOperationContext
extends Object
implements AggregationOperationContext
AggregationOperationContext
implementation prefixing non-command keys on root level with the given prefix.
Useful when mapping fields to domain specific types while having to prefix keys for query purpose.
Fields to be excluded from prefixing my be added to a denylist.
- Since:
- 2.1
- Author:
- Christoph Strobl, Mark Paluch
-
Constructor Summary
ConstructorDescriptionPrefixingDelegatingAggregationOperationContext
(AggregationOperationContext delegate, String prefix) PrefixingDelegatingAggregationOperationContext
(AggregationOperationContext delegate, String prefix, Collection<String> denylist) -
Method Summary
Modifier and TypeMethodDescriptionorg.bson.codecs.configuration.CodecRegistry
Get the underlyingCodecRegistry
used by the MongoDB Java driver.Returns theFields
exposed by the type.org.bson.Document
getMappedObject
(org.bson.Document document) Returns the mappedDocument
, potentially converting the source considering mapping metadata etc.org.bson.Document
getMappedObject
(org.bson.Document document, Class<?> type) Returns the mappedDocument
, potentially converting the source considering mapping metadata for the given type.getReference
(String name) Returns theExposedFields.FieldReference
for the field with the given name.getReference
(Field field) Returns aExposedFields.FieldReference
for the given field.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.mongodb.core.aggregation.AggregationOperationContext
continueOnMissingFieldReference
Methods inherited from interface org.springframework.data.mongodb.CodecRegistryProvider
getCodecFor, hasCodecFor
-
Constructor Details
-
PrefixingDelegatingAggregationOperationContext
public PrefixingDelegatingAggregationOperationContext(AggregationOperationContext delegate, String prefix) -
PrefixingDelegatingAggregationOperationContext
public PrefixingDelegatingAggregationOperationContext(AggregationOperationContext delegate, String prefix, Collection<String> denylist)
-
-
Method Details
-
getMappedObject
public org.bson.Document getMappedObject(org.bson.Document document) Description copied from interface:AggregationOperationContext
Returns the mappedDocument
, potentially converting the source considering mapping metadata etc.- Specified by:
getMappedObject
in interfaceAggregationOperationContext
- Parameters:
document
- will never be null.- Returns:
- must not be null.
-
getMappedObject
Description copied from interface:AggregationOperationContext
Returns the mappedDocument
, potentially converting the source considering mapping metadata for the given type.- Specified by:
getMappedObject
in interfaceAggregationOperationContext
- Parameters:
document
- will never be null.type
- can be null.- Returns:
- must not be null.
-
getReference
Description copied from interface:AggregationOperationContext
Returns aExposedFields.FieldReference
for the given field.- Specified by:
getReference
in interfaceAggregationOperationContext
- Parameters:
field
- must not be null.- Returns:
- the
ExposedFields.FieldReference
for the givenField
.
-
getReference
Description copied from interface:AggregationOperationContext
Returns theExposedFields.FieldReference
for the field with the given name.- Specified by:
getReference
in interfaceAggregationOperationContext
- Parameters:
name
- must not be null or empty.- Returns:
- the
ExposedFields.FieldReference
for the field with given name.
-
getFields
Description copied from interface:AggregationOperationContext
Returns theFields
exposed by the type. May be a class or an interface. The default implementation usesproperty descriptors
discover fields from aClass
.- Specified by:
getFields
in interfaceAggregationOperationContext
- Parameters:
type
- must not be null.- Returns:
- never null.
- See Also:
-
getCodecRegistry
public org.bson.codecs.configuration.CodecRegistry getCodecRegistry()Description copied from interface:CodecRegistryProvider
Get the underlyingCodecRegistry
used by the MongoDB Java driver.- Specified by:
getCodecRegistry
in interfaceAggregationOperationContext
- Specified by:
getCodecRegistry
in interfaceCodecRegistryProvider
- Returns:
- never null.
-