A
- public abstract class AbstractOSGIAnnotationBeanPostProcessor<A extends Annotation>
extends org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
implements org.springframework.osgi.context.BundleContextAware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware
BeanPostProcessor
implementations which need to wire stuff via annotations and need to be functional via OSGI.
Many of this code is borrowed from the spring-dm's class org.springframework.osgi.extensions.annotation.ServiceReferenceInjectionBeanPostProcessor.
*Modifier and Type | Field and Description |
---|---|
protected org.springframework.beans.factory.BeanFactory |
beanFactory |
static long |
DEFAULT_TIMEOUT |
Constructor and Description |
---|
AbstractOSGIAnnotationBeanPostProcessor() |
Modifier and Type | Method and Description |
---|---|
protected abstract Class<A> |
getAnnotation()
Return the class of the
Annotation |
protected abstract Object |
getBeanFromFactory(A a,
Class<?> clazz)
Return the Bean lookup-ed from the
BeanFactory . |
protected abstract String |
getFilter(A annotation)
Return the filter which should get used to lookup the service in the osgi registry.
|
Object |
postProcessAfterInitialization(Object bean,
String beanName)
process FactoryBean created objects, since these will not have had
services injected.
|
org.springframework.beans.PropertyValues |
postProcessPropertyValues(org.springframework.beans.PropertyValues pvs,
PropertyDescriptor[] pds,
Object bean,
String beanName) |
void |
setBeanClassLoader(ClassLoader classLoader) |
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
setBundleContext(org.osgi.framework.BundleContext context) |
void |
setLookupBeanFactory(boolean lookupBeanFactory) |
void |
setTimeout(long timeout)
Set the timeout in milliseconds.
|
public static final long DEFAULT_TIMEOUT
protected org.springframework.beans.factory.BeanFactory beanFactory
public AbstractOSGIAnnotationBeanPostProcessor()
public void setTimeout(long timeout)
timeout
- public void setLookupBeanFactory(boolean lookupBeanFactory)
public void setBeanClassLoader(ClassLoader classLoader)
setBeanClassLoader
in interface org.springframework.beans.factory.BeanClassLoaderAware
BeanClassLoaderAware.setBeanClassLoader(java.lang.ClassLoader)
public Object postProcessAfterInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
postProcessAfterInitialization
in interface org.springframework.beans.factory.config.BeanPostProcessor
postProcessAfterInitialization
in class org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
bean
- beanName
- org.springframework.beans.BeansException
public org.springframework.beans.PropertyValues postProcessPropertyValues(org.springframework.beans.PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws org.springframework.beans.BeansException
postProcessPropertyValues
in interface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
postProcessPropertyValues
in class org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
org.springframework.beans.BeansException
public void setBundleContext(org.osgi.framework.BundleContext context)
setBundleContext
in interface org.springframework.osgi.context.BundleContextAware
BundleContextAware.setBundleContext(org.osgi.framework.BundleContext)
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
org.springframework.beans.BeansException
BeanFactoryAware.setBeanFactory(org.springframework.beans.factory.BeanFactory)
protected abstract Class<A> getAnnotation()
Annotation
protected abstract String getFilter(A annotation)
annotation
- Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.