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
,org.apache.camel.spi.HasCamelContext
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 like
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 or camel-blueprint can leverage this post processor to hook in Camel bean post
processing into their bean processing framework.-
Field Summary
Modifier and TypeFieldDescriptionprotected final List
<org.apache.camel.spi.CamelBeanPostProcessorInjector> protected org.apache.camel.CamelContext
protected CamelPostProcessorHelper
protected boolean
protected static final org.slf4j.Logger
protected boolean
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addCamelBeanPostProjectInjector
(org.apache.camel.spi.CamelBeanPostProcessorInjector injector) protected boolean
Whether support for the annotationBindToRegistry
is supported.protected boolean
canPostProcessBean
(Object bean, String beanName) protected boolean
canSetCamelContext
(Object bean, String beanName) org.apache.camel.CamelContext
org.apache.camel.CamelContext
Strategy to get theCamelContext
to use.Strategy to get theCamelPostProcessorHelper
protected void
protected void
protected void
injectCamelContextPass
(Object bean, String beanName) protected void
injectClass
(Object bean, String beanName) protected void
void
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
protected void
protected void
protected void
injectNestedClasses
(Object bean, String beanName) protected void
boolean
boolean
postProcessAfterInitialization
(Object bean, String beanName) postProcessBeforeInitialization
(Object bean, String beanName) void
setCamelContext
(org.apache.camel.CamelContext camelContext) void
setEnabled
(boolean enabled) 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) void
setUnbindEnabled
(boolean unbindEnabled)
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG -
beanPostProcessorInjectors
protected final List<org.apache.camel.spi.CamelBeanPostProcessorInjector> beanPostProcessorInjectors -
camelPostProcessorHelper
-
camelContext
protected org.apache.camel.CamelContext camelContext -
enabled
protected boolean enabled -
unbindEnabled
protected boolean unbindEnabled
-
-
Constructor Details
-
DefaultCamelBeanPostProcessor
public DefaultCamelBeanPostProcessor() -
DefaultCamelBeanPostProcessor
public DefaultCamelBeanPostProcessor(org.apache.camel.CamelContext camelContext)
-
-
Method Details
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContext
in interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabled
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
isEnabled
public boolean isEnabled()- Specified by:
isEnabled
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
isUnbindEnabled
public boolean isUnbindEnabled()- Specified by:
isUnbindEnabled
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
setUnbindEnabled
public void setUnbindEnabled(boolean unbindEnabled) - Specified by:
setUnbindEnabled
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
addCamelBeanPostProjectInjector
public void addCamelBeanPostProjectInjector(org.apache.camel.spi.CamelBeanPostProcessorInjector injector) - Specified by:
addCamelBeanPostProjectInjector
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
-
postProcessBeforeInitialization
- Specified by:
postProcessBeforeInitialization
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
- Throws:
Exception
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitialization
in interfaceorg.apache.camel.spi.CamelBeanPostProcessor
- Throws:
Exception
-
getOrLookupCamelContext
public org.apache.camel.CamelContext getOrLookupCamelContext()Strategy to get theCamelContext
to use. -
getPostProcessorHelper
Strategy to get theCamelPostProcessorHelper
-
canPostProcessBean
-
bindToRegistrySupported
protected boolean bindToRegistrySupported()Whether support for the annotationBindToRegistry
is supported. This is only intended for standalone runtimes such as camel-main, camel-quarkus, etc. -
canSetCamelContext
-
injectCamelContextPass
-
injectFirstPass
-
injectSecondPass
-
injectEndpointFields
-
injectFields
-
injectBindToRegistryFields
-
injectField
-
injectField
-
injectFieldBean
-
injectFieldBeanConfig
-
injectFieldProperty
-
injectMethods
-
injectBindToRegistryMethods
-
injectClass
-
injectNestedClasses
-
setterInjection
-
setterInjection
-
setterPropertyInjection
-
setterBeanInjection
-
setterBeanConfigInjection
-