public class ParameterBindingDocumentCodec extends Object implements org.bson.codecs.CollectibleCodec<org.bson.Document>
Codec
implementation that allows binding parameters to placeholders or SpEL expressions when decoding a
JSON String. Constructor and Description |
---|
ParameterBindingDocumentCodec()
Construct a new instance with a default
CodecRegistry . |
ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry)
Construct a new instance with the given registry.
|
ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry,
org.bson.codecs.BsonTypeClassMap bsonTypeClassMap)
Construct a new instance with the given registry and BSON type class map.
|
ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry,
org.bson.codecs.BsonTypeClassMap bsonTypeClassMap,
org.bson.Transformer valueTransformer)
Construct a new instance with the given registry and BSON type class map.
|
Modifier and Type | Method and Description |
---|---|
ExpressionDependencies |
captureExpressionDependencies(String json,
ValueProvider valueProvider,
ExpressionParser expressionParser)
Determine
ExpressionDependencies from Expressions that are nested in the json content. |
org.bson.Document |
decode(org.bson.BsonReader reader,
org.bson.codecs.DecoderContext decoderContext) |
org.bson.Document |
decode(String json,
Object[] values) |
org.bson.Document |
decode(String json,
ParameterBindingContext bindingContext) |
boolean |
documentHasId(org.bson.Document document) |
void |
encode(org.bson.BsonWriter writer,
org.bson.Document document,
org.bson.codecs.EncoderContext encoderContext) |
org.bson.Document |
generateIdIfAbsentFromDocument(org.bson.Document document) |
org.bson.BsonValue |
getDocumentId(org.bson.Document document) |
Class<org.bson.Document> |
getEncoderClass() |
public ParameterBindingDocumentCodec()
CodecRegistry
.public ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry)
registry
- the registrypublic ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry, org.bson.codecs.BsonTypeClassMap bsonTypeClassMap)
registry
- the registrybsonTypeClassMap
- the BSON type class mappublic ParameterBindingDocumentCodec(org.bson.codecs.configuration.CodecRegistry registry, org.bson.codecs.BsonTypeClassMap bsonTypeClassMap, org.bson.Transformer valueTransformer)
registry
- the registrybsonTypeClassMap
- the BSON type class mapvalueTransformer
- the value transformer to use as a final step when decoding the value of any field in the
documentpublic boolean documentHasId(org.bson.Document document)
documentHasId
in interface org.bson.codecs.CollectibleCodec<org.bson.Document>
public org.bson.BsonValue getDocumentId(org.bson.Document document)
getDocumentId
in interface org.bson.codecs.CollectibleCodec<org.bson.Document>
public org.bson.Document generateIdIfAbsentFromDocument(org.bson.Document document)
generateIdIfAbsentFromDocument
in interface org.bson.codecs.CollectibleCodec<org.bson.Document>
public void encode(org.bson.BsonWriter writer, org.bson.Document document, org.bson.codecs.EncoderContext encoderContext)
encode
in interface org.bson.codecs.Encoder<org.bson.Document>
public org.bson.Document decode(@Nullable String json, ParameterBindingContext bindingContext)
public ExpressionDependencies captureExpressionDependencies(@Nullable String json, ValueProvider valueProvider, ExpressionParser expressionParser)
ExpressionDependencies
from Expressions that are nested in the json
content. Returns
Optional.empty()
if json
is empty or of it does not contain any SpEL expressions.json
- expressionParser
- ExpressionDependencies
object if expressions were found, otherwise
ExpressionDependencies.none()
.public org.bson.Document decode(org.bson.BsonReader reader, org.bson.codecs.DecoderContext decoderContext)
decode
in interface org.bson.codecs.Decoder<org.bson.Document>
public Class<org.bson.Document> getEncoderClass()
getEncoderClass
in interface org.bson.codecs.Encoder<org.bson.Document>
Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.