Package org.apache.camel.impl.converter
Class BaseTypeConverterRegistry
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.impl.converter.CoreTypeConverterRegistry
-
- org.apache.camel.impl.converter.BaseTypeConverterRegistry
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.TypeConverterRegistry
,org.apache.camel.StatefulService
,org.apache.camel.StaticService
,org.apache.camel.SuspendableService
,org.apache.camel.TypeConverter
- Direct Known Subclasses:
DefaultTypeConverter
public abstract class BaseTypeConverterRegistry extends CoreTypeConverterRegistry
Base implementation of a type converter registry used for type converters in Camel.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.camel.impl.converter.CoreTypeConverterRegistry
CoreTypeConverterRegistry.FallbackTypeConverter
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.camel.CamelContext
camelContext
protected org.apache.camel.spi.Injector
injector
static String
META_INF_SERVICES_FALLBACK_TYPE_CONVERTER
static String
META_INF_SERVICES_TYPE_CONVERTER_LOADER
static String
META_INF_SERVICES_UBER_TYPE_CONVERTER_LOADER
protected org.apache.camel.spi.PackageScanClassResolver
resolver
protected List<org.apache.camel.spi.TypeConverterLoader>
typeConverterLoaders
-
Fields inherited from class org.apache.camel.impl.converter.CoreTypeConverterRegistry
attemptCounter, bulkTypeConverters, enumTypeConverter, failedCounter, fallbackConverters, hitCounter, MISS_CONVERTER, missCounter, noopCounter, statistics, typeConverterExists, typeConverterExistsLoggingLevel, typeMappings
-
-
Constructor Summary
Constructors Constructor Description BaseTypeConverterRegistry(org.apache.camel.CamelContext camelContext, org.apache.camel.spi.PackageScanClassResolver resolver, org.apache.camel.spi.Injector injector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFallbackTypeConverter(org.apache.camel.TypeConverter typeConverter, boolean canPromote)
void
addTypeConverters(Object typeConverters)
protected void
doInit()
protected Collection<String>
findFallbackTypeConverterClasses()
Finds the fallback type converter classes from the classpath looking for text files on the classpath at theMETA_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 theMETA_INF_SERVICES_UBER_TYPE_CONVERTER_LOADER
andMETA_INF_SERVICES_TYPE_CONVERTER_LOADER
locations.protected void
findTypeConverterLoaderClasses(Collection<String> loaders, String basePath)
org.apache.camel.CamelContext
getCamelContext()
protected Collection<URL>
getFallbackUrls()
org.apache.camel.spi.Injector
getInjector()
protected Collection<URL>
getLoaderUrls(String basePath)
org.apache.camel.spi.PackageScanClassResolver
getResolver()
List<org.apache.camel.spi.TypeConverterLoader>
getTypeConverterLoaders()
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 itvoid
setCamelContext(org.apache.camel.CamelContext camelContext)
void
setInjector(org.apache.camel.spi.Injector injector)
-
Methods inherited from class org.apache.camel.impl.converter.CoreTypeConverterRegistry
addBulkTypeConverters, addTypeConverter, allowNull, convertTo, convertTo, createTypeConversionException, doConvertTo, doConvertTo, doLookup, doStop, getBulkTypeConverters, getFallbackConverters, getOrFindTypeConverter, getStatistics, getTypeConverter, getTypeConverterExists, getTypeConverterExistsLoggingLevel, getTypeMappings, lookup, mandatoryConvertTo, mandatoryConvertTo, removeTypeConverter, setTypeConverterExists, setTypeConverterExistsLoggingLevel, size, tryConvertTo, tryConvertTo
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doStart, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
META_INF_SERVICES_UBER_TYPE_CONVERTER_LOADER
public static final String META_INF_SERVICES_UBER_TYPE_CONVERTER_LOADER
- See Also:
- Constant Field Values
-
META_INF_SERVICES_TYPE_CONVERTER_LOADER
public static final String META_INF_SERVICES_TYPE_CONVERTER_LOADER
- See Also:
- Constant Field Values
-
META_INF_SERVICES_FALLBACK_TYPE_CONVERTER
public static final String META_INF_SERVICES_FALLBACK_TYPE_CONVERTER
- See Also:
- Constant Field Values
-
typeConverterLoaders
protected final List<org.apache.camel.spi.TypeConverterLoader> typeConverterLoaders
-
camelContext
protected org.apache.camel.CamelContext camelContext
-
resolver
protected org.apache.camel.spi.PackageScanClassResolver resolver
-
injector
protected org.apache.camel.spi.Injector injector
-
-
Method Detail
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()
- Specified by:
getCamelContext
in interfaceorg.apache.camel.CamelContextAware
- Overrides:
getCamelContext
in classCoreTypeConverterRegistry
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext)
- Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
- Overrides:
setCamelContext
in classCoreTypeConverterRegistry
-
getTypeConverterLoaders
public List<org.apache.camel.spi.TypeConverterLoader> getTypeConverterLoaders()
-
addTypeConverters
public void addTypeConverters(Object typeConverters)
- Specified by:
addTypeConverters
in interfaceorg.apache.camel.spi.TypeConverterRegistry
- Overrides:
addTypeConverters
in classCoreTypeConverterRegistry
-
addFallbackTypeConverter
public void addFallbackTypeConverter(org.apache.camel.TypeConverter typeConverter, boolean canPromote)
- Specified by:
addFallbackTypeConverter
in interfaceorg.apache.camel.spi.TypeConverterRegistry
- Overrides:
addFallbackTypeConverter
in classCoreTypeConverterRegistry
-
getInjector
public org.apache.camel.spi.Injector getInjector()
- Specified by:
getInjector
in interfaceorg.apache.camel.spi.TypeConverterRegistry
- Overrides:
getInjector
in classCoreTypeConverterRegistry
-
setInjector
public void setInjector(org.apache.camel.spi.Injector injector)
- Specified by:
setInjector
in interfaceorg.apache.camel.spi.TypeConverterRegistry
- Overrides:
setInjector
in classCoreTypeConverterRegistry
-
getResolver
public org.apache.camel.spi.PackageScanClassResolver getResolver()
-
loadCoreAndFastTypeConverters
public void loadCoreAndFastTypeConverters() throws Exception
Loads the core type converters which is mandatory to use Camel, and also loads the fast type converters (generated via @Converter(loader = true).- Throws:
Exception
-
findTypeConverterLoaderClasses
protected Collection<String> findTypeConverterLoaderClasses() throws IOException
Finds the type converter loader classes from the classpath looking for text files on the classpath at theMETA_INF_SERVICES_UBER_TYPE_CONVERTER_LOADER
andMETA_INF_SERVICES_TYPE_CONVERTER_LOADER
locations.- Throws:
IOException
-
findTypeConverterLoaderClasses
protected void findTypeConverterLoaderClasses(Collection<String> loaders, String basePath) throws IOException
- Throws:
IOException
-
getLoaderUrls
protected Collection<URL> getLoaderUrls(String basePath) throws IOException
- Throws:
IOException
-
loadTypeConverters
protected void loadTypeConverters() throws Exception
Checks if the registry is loaded and if not lazily load it- Throws:
Exception
-
findFallbackTypeConverterClasses
protected Collection<String> findFallbackTypeConverterClasses() throws IOException
Finds the fallback type converter classes from the classpath looking for text files on the classpath at theMETA_INF_SERVICES_FALLBACK_TYPE_CONVERTER
location.- Throws:
IOException
-
getFallbackUrls
protected Collection<URL> getFallbackUrls() throws IOException
- Throws:
IOException
-
loadFallbackTypeConverters
protected void loadFallbackTypeConverters() throws IOException, ClassNotFoundException
- Throws:
IOException
ClassNotFoundException
-
-