Package org.bson.codecs.pojo
Class PojoCodecProvider.Builder
java.lang.Object
org.bson.codecs.pojo.PojoCodecProvider.Builder
- Enclosing class:
- PojoCodecProvider
A Builder for the PojoCodecProvider
-
Method Summary
Modifier and TypeMethodDescriptionautomatic
(boolean automatic) Sets whether the provider should automatically try to wrap aClassModel
for any class that is requested.build()
Creates the PojoCodecProvider with the classes or packages that configured and registered.conventions
(List<Convention> conventions) Sets the conventions to use when creatingClassModels
from classes or packages.Registers a classes with the builder for inclusion in the Provider.Registers the packages of the given classes with the builder for inclusion in the Provider.register
(ClassModel<?>... classModels) Registers classModels for inclusion in the Provider.register
(PropertyCodecProvider... providers) Registers codec providers that receive the type parameters of properties for instances encoded and decoded by aPojoCodec
handled by this provider.
-
Method Details
-
build
Creates the PojoCodecProvider with the classes or packages that configured and registered.- Returns:
- the Provider
- See Also:
-
automatic
Sets whether the provider should automatically try to wrap aClassModel
for any class that is requested.Note: As Java Beans are convention based, when using automatic settings the provider should be the last provider in the registry.
- Parameters:
automatic
- whether to automatically wrapClassModels
or not.- Returns:
- this
-
conventions
Sets the conventions to use when creatingClassModels
from classes or packages.- Parameters:
conventions
- a list of conventions- Returns:
- this
-
register
Registers a classes with the builder for inclusion in the Provider.Note: Uses reflection for the property mapping. If no conventions are configured on the builder the
Conventions.DEFAULT_CONVENTIONS
will be used.- Parameters:
classes
- the classes to register- Returns:
- this
-
register
Registers classModels for inclusion in the Provider.- Parameters:
classModels
- the classModels to register- Returns:
- this
-
register
Registers the packages of the given classes with the builder for inclusion in the Provider. This will allow classes in the given packages to mapped for use with PojoCodecProvider.Note: Uses reflection for the field mapping. If no conventions are configured on the builder the
Conventions.DEFAULT_CONVENTIONS
will be used.- Parameters:
packageNames
- the package names to register- Returns:
- this
-
register
Registers codec providers that receive the type parameters of properties for instances encoded and decoded by aPojoCodec
handled by this provider.Note that you should prefer working with the
CodecRegistry
/CodecProvider
hierarchy. Providers should only be registered here if a codec needs to be created for custom container types like optionals and collections. Support for typesMap
andCollection
are built-in so explicitly handling them is not necessary.- Parameters:
providers
- property codec providers to register- Returns:
- this
- Since:
- 3.6
-