public class DefaultCamelBeanPostProcessor extends Object implements org.apache.camel.spi.CamelBeanPostProcessor
Endpoint and
ProducerTemplate together with support for
POJO Consuming via the
Consume annotation along with
POJO Producing via the
Produce annotation along with other annotations such as
DynamicRouter for creating a Dynamic router via annotations.
RecipientList for creating a Recipient List router via annotations.
RoutingSlip for creating a Routing Slip router via annotations.
Components such as camel-spring, and camel-blueprint can leverage this post processor to hook in Camel
bean post processing into their bean processing framework.| Modifier and Type | Field and Description |
|---|---|
protected org.apache.camel.CamelContext |
camelContext |
protected CamelPostProcessorHelper |
camelPostProcessorHelper |
protected static org.slf4j.Logger |
LOG |
| Constructor and Description |
|---|
DefaultCamelBeanPostProcessor() |
DefaultCamelBeanPostProcessor(org.apache.camel.CamelContext camelContext) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
bindToRegistrySupported()
Whether support for the annotation
BindToRegistry is supported. |
protected boolean |
canPostProcessBean(Object bean,
String beanName) |
protected boolean |
canSetCamelContext(Object bean,
String beanName) |
org.apache.camel.CamelContext |
getOrLookupCamelContext()
Strategy to get the
CamelContext to use. |
CamelPostProcessorHelper |
getPostProcessorHelper()
Strategy to get the
CamelPostProcessorHelper |
protected void |
injectBindToRegistryFields(Object bean,
String beanName) |
protected void |
injectBindToRegistryMethods(Object bean,
String beanName) |
protected void |
injectClass(Object bean,
String beanName) |
void |
injectField(Field field,
String endpointUri,
String endpointProperty,
Object bean,
String beanName) |
void |
injectField(Field field,
String endpointUri,
String endpointProperty,
Object bean,
String beanName,
boolean binding) |
void |
injectFieldBean(Field field,
String name,
Object bean,
String beanName) |
void |
injectFieldProperty(Field field,
String propertyName,
String propertyDefaultValue,
Object bean,
String beanName) |
protected void |
injectFields(Object bean,
String beanName)
A strategy method to allow implementations to perform some custom JBI
based injection of the POJO
|
protected void |
injectMethods(Object bean,
String beanName) |
protected void |
injectNestedClasses(Object bean,
String beanName) |
Object |
postProcessAfterInitialization(Object bean,
String beanName) |
Object |
postProcessBeforeInitialization(Object bean,
String beanName) |
void |
setterBeanInjection(Method method,
String name,
Object bean,
String beanName) |
protected void |
setterInjection(Method method,
Object bean,
String beanName) |
void |
setterInjection(Method method,
Object bean,
String beanName,
String endpointUri,
String endpointProperty) |
void |
setterPropertyInjection(Method method,
String propertyValue,
String propertyDefaultValue,
Object bean,
String beanName) |
protected static final org.slf4j.Logger LOG
protected CamelPostProcessorHelper camelPostProcessorHelper
protected org.apache.camel.CamelContext camelContext
public DefaultCamelBeanPostProcessor()
public DefaultCamelBeanPostProcessor(org.apache.camel.CamelContext camelContext)
public Object postProcessBeforeInitialization(Object bean, String beanName) throws Exception
postProcessBeforeInitialization in interface org.apache.camel.spi.CamelBeanPostProcessorExceptionpublic Object postProcessAfterInitialization(Object bean, String beanName) throws Exception
postProcessAfterInitialization in interface org.apache.camel.spi.CamelBeanPostProcessorExceptionpublic org.apache.camel.CamelContext getOrLookupCamelContext()
CamelContext to use.public CamelPostProcessorHelper getPostProcessorHelper()
CamelPostProcessorHelperprotected boolean bindToRegistrySupported()
BindToRegistry is supported.
This is only intended for standalone runtimes such as camel-main, camel-quarkus, etc.protected void injectFields(Object bean, String beanName)
bean - the bean to be injectedpublic void injectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName)
public void injectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName, boolean binding)
public void injectFieldProperty(Field field, String propertyName, String propertyDefaultValue, Object bean, String beanName)
protected void injectBindToRegistryMethods(Object bean, String beanName)
public void setterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointProperty)
public void setterPropertyInjection(Method method, String propertyValue, String propertyDefaultValue, Object bean, String beanName)
Apache Camel