public class TypeConverterRegistry
extends java.lang.Object
TypeConverter
plugins.Modifier and Type | Field and Description |
---|---|
private static TypeConverterRegistry |
INSTANCE |
private static java.lang.Object |
INSTANCE_LOCK |
private static Logger |
LOGGER |
private java.util.concurrent.ConcurrentMap<java.lang.reflect.Type,TypeConverter<?>> |
registry |
Modifier | Constructor and Description |
---|---|
private |
TypeConverterRegistry() |
Modifier and Type | Method and Description |
---|---|
TypeConverter<?> |
findCompatibleConverter(java.lang.reflect.Type type)
Finds a
TypeConverter for the given Type , falling back to an assignment-compatible TypeConverter
if none exist for the given type. |
static TypeConverterRegistry |
getInstance()
Gets the singleton instance of the TypeConverterRegistry.
|
private static java.lang.reflect.Type |
getTypeConverterSupportedType(java.lang.Class<? extends TypeConverter> typeConverterClass) |
private void |
loadKnownTypeConverters(java.util.Collection<PluginType<?>> knownTypes) |
private void |
registerPrimitiveTypes() |
private void |
registerTypeAlias(java.lang.reflect.Type knownType,
java.lang.reflect.Type aliasType) |
private static final Logger LOGGER
private static volatile TypeConverterRegistry INSTANCE
private static final java.lang.Object INSTANCE_LOCK
private final java.util.concurrent.ConcurrentMap<java.lang.reflect.Type,TypeConverter<?>> registry
public static TypeConverterRegistry getInstance()
public TypeConverter<?> findCompatibleConverter(java.lang.reflect.Type type)
TypeConverter
for the given Type
, falling back to an assignment-compatible TypeConverter
if none exist for the given type. That is, if the given Type does not have a TypeConverter, but another Type
which can be assigned to the given Type does have a TypeConverter, then that TypeConverter will be
used and registered.type
- the Type to find a TypeConverter for (must not be null
).java.util.UnknownFormatConversionException
- if no TypeConverter can be found for the given type.private void loadKnownTypeConverters(java.util.Collection<PluginType<?>> knownTypes)
private static java.lang.reflect.Type getTypeConverterSupportedType(java.lang.Class<? extends TypeConverter> typeConverterClass)
private void registerPrimitiveTypes()
private void registerTypeAlias(java.lang.reflect.Type knownType, java.lang.reflect.Type aliasType)