const mixinafMorphia::BsonConvs
afMorphia::BsonConvs
(Service) - Converts Fantom objects to and from their BSON representation.
- defConvs
static Type:BsonConv defConvs()
The default set of BSON <-> Fantom converters.
- fromBsonDoc
abstract Obj? fromBsonDoc([Str:Obj?]? bsonObj, Type? fantomType)
Converts a BSON object to the given Fantom type.
Convenience for calling
fromBsonVal()
with a cast.- fromBsonVal
abstract Obj? fromBsonVal(Obj? bsonVal, Type? fantomType)
Converts a BSON value to the given Fantom type. If
fantomType
isnull
thennull
is always returned.bsonVal
is nullable so converters can choose whether or not to create empty lists and maps.- get
@
Operator
abstract BsonConv get(Type type)Returns the
Converter
instance used to convert the given type.- make
static new make([Type:BsonConv]? converters := null, [Str:Obj?]? options := null)
Returns a new
BsonConvs
instance.If
converters
isnull
thendefConvs
is used. Common options are:makeEntityFn : |Type type, Field:Obj? fieldVals->Obj?| { BeanBuilder.build(type, vals) } storeNullFields : false strictMode : false propertyCache : BsonPropCache()
Override
makeEntity
to have IoC create entity instances. SetstrictMode
totrue
to Err if the BSON contains unmapped data.Serializable Mode is where all non-transient fields are converted, regardless of any
@BsonProp
facets. Data from@BsonProp
facets, however, is still honoured if defined.- propertyCache
abstract BsonPropCache propertyCache()
Returns the
BsonPropCache
.- toBsonDoc
abstract [Str:Obj?]? toBsonDoc(Obj? fantomObj)
Converts the given Fantom object to its BSON object representation.
Convenience for calling
toBsonVal()
with a cast.- toBsonVal
abstract Obj? toBsonVal(Obj? fantomObj, Type? fantomType := null)
Converts the given Fantom object to its BSON representation.
fantomObj
is nullable so converters can create empty / default objects.fantomType
in casefantomObj
is null, but defaults tofantomObj?.typeof
.- withOptions
abstract BsonConvs withOptions(Str:Obj? newOptions)
Returns a new
BsonConvs
whose options are overridden with the given ones.