public class CustomConversions extends Object
List
of converters and some additional logic
around them. The converters build up two sets of types which store-specific basic types can be converted into and
from. These types will be considered simple ones (which means they neither need deeper inspection nor nested
conversion. Thus the CustomConversions
also act as factory for SimpleTypeHolder
.Modifier and Type | Class and Description |
---|---|
static class |
CustomConversions.StoreConversions
Value type to capture store-specific extensions to the
CustomConversions . |
Constructor and Description |
---|
CustomConversions(CustomConversions.StoreConversions storeConversions,
Collection<?> converters)
Creates a new
CustomConversions instance registering the given converters. |
Modifier and Type | Method and Description |
---|---|
Optional<Class<?>> |
getCustomWriteTarget(Class<?> sourceType)
Returns the target type to convert to in case we have a custom conversion registered to convert the given source
type into a Mongo native one.
|
Optional<Class<?>> |
getCustomWriteTarget(Class<?> sourceType,
Class<?> requestedTargetType)
Returns the target type we can read an inject of the given source type to.
|
SimpleTypeHolder |
getSimpleTypeHolder()
Returns the underlying
SimpleTypeHolder . |
boolean |
hasCustomReadTarget(Class<?> sourceType,
Class<?> targetType)
Returns whether we have a custom conversion registered to read the given source into the given target
type.
|
boolean |
hasCustomWriteTarget(Class<?> sourceType)
Returns whether we have a custom conversion registered to read
sourceType into a native type. |
boolean |
hasCustomWriteTarget(Class<?> sourceType,
Class<?> targetType)
Returns whether we have a custom conversion registered to read an object of the given source type
into an object of the given native target type.
|
boolean |
isSimpleType(Class<?> type)
Returns whether the given type is considered to be simple.
|
void |
registerConvertersIn(ConverterRegistry conversionService)
Populates the given
GenericConversionService with the converters registered. |
public CustomConversions(CustomConversions.StoreConversions storeConversions, Collection<?> converters)
CustomConversions
instance registering the given converters.storeConversions
- must not be null.converters
- must not be null.public SimpleTypeHolder getSimpleTypeHolder()
SimpleTypeHolder
.public boolean isSimpleType(Class<?> type)
Converter
registered for a particular type.type
- SimpleTypeHolder.isSimpleType(Class)
public void registerConvertersIn(ConverterRegistry conversionService)
GenericConversionService
with the converters registered.conversionService
- public Optional<Class<?>> getCustomWriteTarget(Class<?> sourceType)
sourceType
- must not be nullpublic Optional<Class<?>> getCustomWriteTarget(Class<?> sourceType, Class<?> requestedTargetType)
requestedTargetType
is null we will simply
return the first target type matching or null if no conversion can be found.sourceType
- must not be nullrequestedTargetType
- must not be null.public boolean hasCustomWriteTarget(Class<?> sourceType)
sourceType
into a native type. The
returned type might be a subclass of the given expected type though.sourceType
- must not be nullpublic boolean hasCustomWriteTarget(Class<?> sourceType, Class<?> targetType)
sourceType
- must not be null.targetType
- must not be null.Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.