Interface CodecRegistry
- All Superinterfaces:
CodecProvider
While the CodecRegistry
interface adds no stipulations to the general contract for the Object.equals,
programmers who implement the CodecRegistry
interface "directly" must exercise care if they choose to override the
Object.equals
. It is not necessary to do so, and the simplest course of action is to rely on Object's implementation, but the
implementer may wish to implement a "value comparison" in place of the default "reference comparison."
As of the 4.0 release, this class extends the CodecProvider
interface. This capability was introduced to enable nesting
registries inside another registry.
Applications are encouraged to NOT implement this interface, but rather use the factory methods in CodecRegistries
.
- Since:
- 3.0
- See Also:
-
Method Summary
Methods inherited from interface org.bson.codecs.configuration.CodecProvider
get, get
-
Method Details
-
get
Gets aCodec
for the given Class.- Type Parameters:
T
- the class type- Parameters:
clazz
- the class- Returns:
- a codec for the given class
- Throws:
CodecConfigurationException
- if the registry does not contain a codec for the given class.
-
get
Gets a Codec for the given parameterized class, after resolving any type variables with the given type arguments.The default behavior is to throw a
AssertionError
, as it's expected thatCodecRegistry
implementations are always provided by this library and will override the method appropriately.- Type Parameters:
T
- the class type- Parameters:
clazz
- the parameterized classtypeArguments
- the type arguments to apply to the parameterized class. This list may be empty but not null.- Returns:
- a codec for the given class, with the given type parameters resolved
- Throws:
CodecConfigurationException
- if no codec can be found for the given class and type arguments.AssertionError
- by default, if the implementation does not override this method, or if no codec can be found for the given class and type arguments.- Since:
- 4.8
-