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,
Function<Class,Boolean> accept) |
protected void |
injectBindToRegistryMethods(Object bean,
String beanName,
Function<Class,Boolean> accept) |
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 |
injectFieldBeanConfig(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,
Function<Class,Boolean> accept) |
protected void |
injectFirstPass(Object bean,
String beanName,
Function<Class,Boolean> filter) |
protected void |
injectMethods(Object bean,
String beanName,
Function<Class,Boolean> accept) |
protected void |
injectNestedClasses(Object bean,
String beanName) |
protected void |
injectSecondPass(Object bean,
String beanName,
Function<Class,Boolean> filter) |
Object |
postProcessAfterInitialization(Object bean,
String beanName) |
Object |
postProcessBeforeInitialization(Object bean,
String beanName) |
void |
setterBeanConfigInjection(Method method,
String name,
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.CamelBeanPostProcessor
Exception
public Object postProcessAfterInitialization(Object bean, String beanName) throws Exception
postProcessAfterInitialization
in interface org.apache.camel.spi.CamelBeanPostProcessor
Exception
public org.apache.camel.CamelContext getOrLookupCamelContext()
CamelContext
to use.public CamelPostProcessorHelper getPostProcessorHelper()
CamelPostProcessorHelper
protected boolean bindToRegistrySupported()
BindToRegistry
is supported. This is only intended for standalone
runtimes such as camel-main, camel-quarkus, etc.protected void injectFirstPass(Object bean, String beanName, Function<Class,Boolean> filter)
protected void injectSecondPass(Object bean, String beanName, Function<Class,Boolean> filter)
protected void injectFields(Object bean, String beanName, Function<Class,Boolean> accept)
protected void injectBindToRegistryFields(Object bean, String beanName, Function<Class,Boolean> accept)
public 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 injectFieldBeanConfig(Field field, String name, Object bean, String beanName)
public void injectFieldProperty(Field field, String propertyName, String propertyDefaultValue, Object bean, String beanName)
protected void injectMethods(Object bean, String beanName, Function<Class,Boolean> accept)
protected void injectBindToRegistryMethods(Object bean, String beanName, Function<Class,Boolean> accept)
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)
public void setterBeanInjection(Method method, String name, Object bean, String beanName)
Apache Camel