Package org.apache.camel.impl.engine
Class DefaultCamelBeanPostProcessor
- java.lang.Object
-
- org.apache.camel.impl.engine.DefaultCamelBeanPostProcessor
-
- All Implemented Interfaces:
org.apache.camel.CamelContextAware,org.apache.camel.spi.CamelBeanPostProcessor
public class DefaultCamelBeanPostProcessor extends Object implements org.apache.camel.spi.CamelBeanPostProcessor, org.apache.camel.CamelContextAware
A bean post processor which implements the Bean Integration features in Camel. Features such as the Bean Injection of objects likeEndpointandProducerTemplatetogether with support for POJO Consuming via theConsumeannotation along with POJO Producing via theProduceannotation along with other annotations such asDynamicRouterfor creating a Dynamic router via annotations.RecipientListfor creating a Recipient List router via annotations.RoutingSlipfor creating a Routing Slip router via annotations. Components such as camel-spring or camel-blueprint can leverage this post processor to hook in Camel bean post processing into their bean processing framework.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.camel.CamelContextcamelContextprotected CamelPostProcessorHelpercamelPostProcessorHelperprotected booleanenabledprotected static org.slf4j.LoggerLOG
-
Constructor Summary
Constructors Constructor Description DefaultCamelBeanPostProcessor()DefaultCamelBeanPostProcessor(org.apache.camel.CamelContext camelContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanbindToRegistrySupported()Whether support for the annotationBindToRegistryis supported.protected booleancanPostProcessBean(Object bean, String beanName)protected booleancanSetCamelContext(Object bean, String beanName)org.apache.camel.CamelContextgetCamelContext()org.apache.camel.CamelContextgetOrLookupCamelContext()Strategy to get theCamelContextto use.CamelPostProcessorHelpergetPostProcessorHelper()Strategy to get theCamelPostProcessorHelperprotected voidinjectBindToRegistryFields(Object bean, String beanName, Function<Class,Boolean> accept)protected voidinjectBindToRegistryMethods(Object bean, String beanName, Function<Class,Boolean> accept)protected voidinjectClass(Object bean, String beanName)voidinjectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName)voidinjectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName, boolean binding)voidinjectFieldBean(Field field, String name, Object bean, String beanName)voidinjectFieldBeanConfig(Field field, String name, Object bean, String beanName)voidinjectFieldProperty(Field field, String propertyName, String propertyDefaultValue, Object bean, String beanName)protected voidinjectFields(Object bean, String beanName, Function<Class,Boolean> accept)protected voidinjectFirstPass(Object bean, String beanName, Function<Class,Boolean> filter)protected voidinjectMethods(Object bean, String beanName, Function<Class,Boolean> accept)protected voidinjectNestedClasses(Object bean, String beanName)protected voidinjectSecondPass(Object bean, String beanName, Function<Class,Boolean> filter)booleanisEnabled()ObjectpostProcessAfterInitialization(Object bean, String beanName)ObjectpostProcessBeforeInitialization(Object bean, String beanName)voidsetCamelContext(org.apache.camel.CamelContext camelContext)voidsetEnabled(boolean enabled)voidsetterBeanConfigInjection(Method method, String name, Object bean, String beanName)voidsetterBeanInjection(Method method, String name, Object bean, String beanName)protected voidsetterInjection(Method method, Object bean, String beanName)voidsetterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointProperty)voidsetterPropertyInjection(Method method, String propertyValue, String propertyDefaultValue, Object bean, String beanName)
-
-
-
Field Detail
-
LOG
protected static final org.slf4j.Logger LOG
-
camelPostProcessorHelper
protected CamelPostProcessorHelper camelPostProcessorHelper
-
camelContext
protected org.apache.camel.CamelContext camelContext
-
enabled
protected boolean enabled
-
-
Method Detail
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()
- Specified by:
getCamelContextin interfaceorg.apache.camel.CamelContextAware
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext)
- Specified by:
setCamelContextin interfaceorg.apache.camel.CamelContextAware
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
isEnabled
public boolean isEnabled()
- Specified by:
isEnabledin interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
postProcessBeforeInitialization
public Object postProcessBeforeInitialization(Object bean, String beanName) throws Exception
- Specified by:
postProcessBeforeInitializationin interfaceorg.apache.camel.spi.CamelBeanPostProcessor- Throws:
Exception
-
postProcessAfterInitialization
public Object postProcessAfterInitialization(Object bean, String beanName) throws Exception
- Specified by:
postProcessAfterInitializationin interfaceorg.apache.camel.spi.CamelBeanPostProcessor- Throws:
Exception
-
getOrLookupCamelContext
public org.apache.camel.CamelContext getOrLookupCamelContext()
Strategy to get theCamelContextto use.
-
getPostProcessorHelper
public CamelPostProcessorHelper getPostProcessorHelper()
Strategy to get theCamelPostProcessorHelper
-
bindToRegistrySupported
protected boolean bindToRegistrySupported()
Whether support for the annotationBindToRegistryis supported. This is only intended for standalone runtimes such as camel-main, camel-quarkus, etc.
-
injectFirstPass
protected void injectFirstPass(Object bean, String beanName, Function<Class,Boolean> filter)
-
injectSecondPass
protected void injectSecondPass(Object bean, String beanName, Function<Class,Boolean> filter)
-
injectFields
protected void injectFields(Object bean, String beanName, Function<Class,Boolean> accept)
-
injectBindToRegistryFields
protected void injectBindToRegistryFields(Object bean, String beanName, Function<Class,Boolean> accept)
-
injectField
public void injectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName)
-
injectField
public void injectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName, boolean binding)
-
injectFieldBean
public void injectFieldBean(Field field, String name, Object bean, String beanName)
-
injectFieldBeanConfig
public void injectFieldBeanConfig(Field field, String name, Object bean, String beanName)
-
injectFieldProperty
public void injectFieldProperty(Field field, String propertyName, String propertyDefaultValue, Object bean, String beanName)
-
injectMethods
protected void injectMethods(Object bean, String beanName, Function<Class,Boolean> accept)
-
injectBindToRegistryMethods
protected void injectBindToRegistryMethods(Object bean, String beanName, Function<Class,Boolean> accept)
-
setterInjection
public void setterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointProperty)
-
setterPropertyInjection
public void setterPropertyInjection(Method method, String propertyValue, String propertyDefaultValue, Object bean, String beanName)
-
setterBeanInjection
public void setterBeanInjection(Method method, String name, Object bean, String beanName)
-
-