public abstract class BaseTypeConverterRegistry
extends org.apache.camel.support.service.ServiceSupport
implements org.apache.camel.TypeConverter, org.apache.camel.spi.TypeConverterRegistry
Modifier and Type | Class and Description |
---|---|
protected static class |
BaseTypeConverterRegistry.FallbackTypeConverter
Represents a fallback type converter
|
Modifier and Type | Field and Description |
---|---|
protected LongAdder |
attemptCounter |
protected org.apache.camel.CamelContext |
camelContext |
protected org.apache.camel.spi.FactoryFinder |
factoryFinder |
protected LongAdder |
failedCounter |
protected List<BaseTypeConverterRegistry.FallbackTypeConverter> |
fallbackConverters |
protected LongAdder |
hitCounter |
protected org.apache.camel.spi.Injector |
injector |
static String |
META_INF_SERVICES_FALLBACK_TYPE_CONVERTER |
static String |
META_INF_SERVICES_TYPE_CONVERTER_LOADER |
protected static org.apache.camel.TypeConverter |
MISS_CONVERTER |
protected LongAdder |
missCounter |
protected LongAdder |
noopCounter |
protected org.apache.camel.spi.PackageScanClassResolver |
resolver |
protected org.apache.camel.spi.TypeConverterRegistry.Statistics |
statistics |
protected org.apache.camel.TypeConverterExists |
typeConverterExists |
protected org.apache.camel.LoggingLevel |
typeConverterExistsLoggingLevel |
protected List<org.apache.camel.spi.TypeConverterLoader> |
typeConverterLoaders |
protected org.apache.camel.util.DoubleMap<Class<?>,Class<?>,org.apache.camel.TypeConverter> |
typeMappings |
Constructor and Description |
---|
BaseTypeConverterRegistry(org.apache.camel.CamelContext camelContext,
org.apache.camel.spi.PackageScanClassResolver resolver,
org.apache.camel.spi.Injector injector,
org.apache.camel.spi.FactoryFinder factoryFinder) |
Modifier and Type | Method and Description |
---|---|
void |
addFallbackTypeConverter(org.apache.camel.TypeConverter typeConverter,
boolean canPromote) |
void |
addTypeConverter(Class<?> toType,
Class<?> fromType,
org.apache.camel.TypeConverter typeConverter) |
void |
addTypeConverters(org.apache.camel.TypeConverters typeConverters) |
<T> T |
convertTo(Class<T> type,
org.apache.camel.Exchange exchange,
Object value) |
<T> T |
convertTo(Class<T> type,
Object value) |
protected org.apache.camel.TypeConversionException |
createTypeConversionException(org.apache.camel.Exchange exchange,
Class<?> type,
Object value,
Throwable cause) |
protected Object |
doConvertTo(Class<?> type,
org.apache.camel.Exchange exchange,
Object value,
boolean tryConvert) |
protected Object |
doConvertTo(Class<?> type,
org.apache.camel.Exchange exchange,
Object value,
boolean mandatory,
boolean tryConvert) |
protected void |
doInit() |
protected org.apache.camel.TypeConverter |
doLookup(Class<?> toType,
Class<?> fromType,
boolean isSuper) |
protected void |
doStart() |
protected void |
doStop() |
protected Collection<String> |
findFallbackTypeConverterClasses()
Finds the fallback type converter classes from the classpath looking
for text files on the classpath at the
META_INF_SERVICES_FALLBACK_TYPE_CONVERTER location. |
protected Collection<String> |
findTypeConverterLoaderClasses()
Finds the type converter loader classes from the classpath looking
for text files on the classpath at the
META_INF_SERVICES_TYPE_CONVERTER_LOADER location. |
org.apache.camel.CamelContext |
getCamelContext() |
protected Collection<URL> |
getFallbackUrls() |
org.apache.camel.spi.Injector |
getInjector() |
protected Collection<URL> |
getLoaderUrls() |
protected <T> org.apache.camel.TypeConverter |
getOrFindTypeConverter(Class<?> toType,
Class<?> fromType) |
org.apache.camel.spi.PackageScanClassResolver |
getResolver() |
org.apache.camel.spi.TypeConverterRegistry.Statistics |
getStatistics() |
org.apache.camel.TypeConverter |
getTypeConverter(Class<?> toType,
Class<?> fromType) |
org.apache.camel.TypeConverterExists |
getTypeConverterExists() |
org.apache.camel.LoggingLevel |
getTypeConverterExistsLoggingLevel() |
List<org.apache.camel.spi.TypeConverterLoader> |
getTypeConverterLoaders() |
protected void |
initTypeConverterLoaders() |
List<Class<?>[]> |
listAllTypeConvertersFromTo() |
void |
loadCoreAndFastTypeConverters()
Loads the core type converters which is mandatory to use Camel,
and also loads the fast type converters (generated via @Converter(loader = true).
|
protected void |
loadFallbackTypeConverters() |
protected void |
loadTypeConverters()
Checks if the registry is loaded and if not lazily load it
|
org.apache.camel.TypeConverter |
lookup(Class<?> toType,
Class<?> fromType) |
<T> T |
mandatoryConvertTo(Class<T> type,
org.apache.camel.Exchange exchange,
Object value) |
<T> T |
mandatoryConvertTo(Class<T> type,
Object value) |
boolean |
removeTypeConverter(Class<?> toType,
Class<?> fromType) |
void |
setCamelContext(org.apache.camel.CamelContext camelContext) |
void |
setInjector(org.apache.camel.spi.Injector injector) |
void |
setTypeConverterExists(org.apache.camel.TypeConverterExists typeConverterExists) |
void |
setTypeConverterExistsLoggingLevel(org.apache.camel.LoggingLevel typeConverterExistsLoggingLevel) |
int |
size() |
<T> T |
tryConvertTo(Class<T> type,
org.apache.camel.Exchange exchange,
Object value) |
<T> T |
tryConvertTo(Class<T> type,
Object value) |
build, doBuild, doResume, doShutdown, doSuspend, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public static final String META_INF_SERVICES_TYPE_CONVERTER_LOADER
public static final String META_INF_SERVICES_FALLBACK_TYPE_CONVERTER
protected static final org.apache.camel.TypeConverter MISS_CONVERTER
protected final org.apache.camel.util.DoubleMap<Class<?>,Class<?>,org.apache.camel.TypeConverter> typeMappings
protected final List<org.apache.camel.spi.TypeConverterLoader> typeConverterLoaders
protected final List<BaseTypeConverterRegistry.FallbackTypeConverter> fallbackConverters
protected org.apache.camel.CamelContext camelContext
protected org.apache.camel.spi.PackageScanClassResolver resolver
protected org.apache.camel.spi.Injector injector
protected final org.apache.camel.spi.FactoryFinder factoryFinder
protected org.apache.camel.TypeConverterExists typeConverterExists
protected org.apache.camel.LoggingLevel typeConverterExistsLoggingLevel
protected final org.apache.camel.spi.TypeConverterRegistry.Statistics statistics
protected final LongAdder noopCounter
protected final LongAdder attemptCounter
protected final LongAdder missCounter
protected final LongAdder hitCounter
protected final LongAdder failedCounter
public BaseTypeConverterRegistry(org.apache.camel.CamelContext camelContext, org.apache.camel.spi.PackageScanClassResolver resolver, org.apache.camel.spi.Injector injector, org.apache.camel.spi.FactoryFinder factoryFinder)
public org.apache.camel.CamelContext getCamelContext()
getCamelContext
in interface org.apache.camel.CamelContextAware
public void setCamelContext(org.apache.camel.CamelContext camelContext)
setCamelContext
in interface org.apache.camel.CamelContextAware
public List<org.apache.camel.spi.TypeConverterLoader> getTypeConverterLoaders()
public <T> T convertTo(Class<T> type, Object value)
convertTo
in interface org.apache.camel.TypeConverter
public <T> T convertTo(Class<T> type, org.apache.camel.Exchange exchange, Object value)
convertTo
in interface org.apache.camel.TypeConverter
public <T> T mandatoryConvertTo(Class<T> type, Object value) throws org.apache.camel.NoTypeConversionAvailableException
mandatoryConvertTo
in interface org.apache.camel.TypeConverter
org.apache.camel.NoTypeConversionAvailableException
public <T> T mandatoryConvertTo(Class<T> type, org.apache.camel.Exchange exchange, Object value) throws org.apache.camel.NoTypeConversionAvailableException
mandatoryConvertTo
in interface org.apache.camel.TypeConverter
org.apache.camel.NoTypeConversionAvailableException
public <T> T tryConvertTo(Class<T> type, Object value)
tryConvertTo
in interface org.apache.camel.TypeConverter
public <T> T tryConvertTo(Class<T> type, org.apache.camel.Exchange exchange, Object value)
tryConvertTo
in interface org.apache.camel.TypeConverter
protected Object doConvertTo(Class<?> type, org.apache.camel.Exchange exchange, Object value, boolean mandatory, boolean tryConvert)
protected Object doConvertTo(Class<?> type, org.apache.camel.Exchange exchange, Object value, boolean tryConvert) throws Exception
Exception
public void addTypeConverter(Class<?> toType, Class<?> fromType, org.apache.camel.TypeConverter typeConverter)
addTypeConverter
in interface org.apache.camel.spi.TypeConverterRegistry
public void addTypeConverters(org.apache.camel.TypeConverters typeConverters)
addTypeConverters
in interface org.apache.camel.spi.TypeConverterRegistry
public boolean removeTypeConverter(Class<?> toType, Class<?> fromType)
removeTypeConverter
in interface org.apache.camel.spi.TypeConverterRegistry
public void addFallbackTypeConverter(org.apache.camel.TypeConverter typeConverter, boolean canPromote)
addFallbackTypeConverter
in interface org.apache.camel.spi.TypeConverterRegistry
public org.apache.camel.TypeConverter getTypeConverter(Class<?> toType, Class<?> fromType)
public org.apache.camel.spi.Injector getInjector()
getInjector
in interface org.apache.camel.spi.TypeConverterRegistry
public void setInjector(org.apache.camel.spi.Injector injector)
setInjector
in interface org.apache.camel.spi.TypeConverterRegistry
public org.apache.camel.spi.PackageScanClassResolver getResolver()
protected <T> org.apache.camel.TypeConverter getOrFindTypeConverter(Class<?> toType, Class<?> fromType)
public org.apache.camel.TypeConverter lookup(Class<?> toType, Class<?> fromType)
lookup
in interface org.apache.camel.spi.TypeConverterRegistry
protected org.apache.camel.TypeConverter doLookup(Class<?> toType, Class<?> fromType, boolean isSuper)
public List<Class<?>[]> listAllTypeConvertersFromTo()
listAllTypeConvertersFromTo
in interface org.apache.camel.spi.TypeConverterRegistry
public void loadCoreAndFastTypeConverters() throws Exception
Exception
protected Collection<String> findTypeConverterLoaderClasses() throws IOException
META_INF_SERVICES_TYPE_CONVERTER_LOADER
location.IOException
protected Collection<URL> getLoaderUrls() throws IOException
IOException
protected void loadTypeConverters() throws Exception
Exception
protected Collection<String> findFallbackTypeConverterClasses() throws IOException
META_INF_SERVICES_FALLBACK_TYPE_CONVERTER
location.IOException
protected Collection<URL> getFallbackUrls() throws IOException
IOException
protected void loadFallbackTypeConverters() throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
protected org.apache.camel.TypeConversionException createTypeConversionException(org.apache.camel.Exchange exchange, Class<?> type, Object value, Throwable cause)
public org.apache.camel.spi.TypeConverterRegistry.Statistics getStatistics()
getStatistics
in interface org.apache.camel.spi.TypeConverterRegistry
public int size()
size
in interface org.apache.camel.spi.TypeConverterRegistry
public org.apache.camel.LoggingLevel getTypeConverterExistsLoggingLevel()
getTypeConverterExistsLoggingLevel
in interface org.apache.camel.spi.TypeConverterRegistry
public void setTypeConverterExistsLoggingLevel(org.apache.camel.LoggingLevel typeConverterExistsLoggingLevel)
setTypeConverterExistsLoggingLevel
in interface org.apache.camel.spi.TypeConverterRegistry
public org.apache.camel.TypeConverterExists getTypeConverterExists()
getTypeConverterExists
in interface org.apache.camel.spi.TypeConverterRegistry
public void setTypeConverterExists(org.apache.camel.TypeConverterExists typeConverterExists)
setTypeConverterExists
in interface org.apache.camel.spi.TypeConverterRegistry
protected void doInit()
doInit
in class org.apache.camel.support.service.ServiceSupport
protected void initTypeConverterLoaders()
protected void doStart() throws Exception
doStart
in class org.apache.camel.support.service.ServiceSupport
Exception
Apache Camel