Example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getType

List of usage examples for org.springframework.beans.factory.config ConfigurableListableBeanFactory getType

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getType.

Prototype

@Nullable
Class<?> getType(String name) throws NoSuchBeanDefinitionException;

Source Link

Document

Determine the type of the bean with the given name.

Usage

From source file:org.jacpfx.vertx.spring.SpringSingleVerticleConfiguration.java

private List<String> getBeanNamesToRemove(final String[] verticleBeanNames,
        final ConfigurableListableBeanFactory beanFactory) {
    final List<String> beansToRemove = new ArrayList<>();
    for (final String name : verticleBeanNames) {
        final Class<?> verticleClass = beanFactory.getType(name);
        if (currentSpringVerticleClass.equals(verticleClass))
            continue;
        beansToRemove.add(name);//from  w ww .  ja v  a 2s.  c om
    }
    return beansToRemove;
}

From source file:py.una.pol.karaku.services.server.ServiceDefinitionRegister.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory bf) {

    LOG.info("Registering @WebServices");
    String[] beans = bf.getBeanDefinitionNames();
    for (String s : beans) {
        Class<?> beanType = bf.getType(s);
        WebServiceDefinition ws = AnnotationUtils.findAnnotation(beanType, WebServiceDefinition.class);
        if (ws != null) {
            String name = getName(s);
            DefaultWsdl11Definition newWS = createWebService(name, ws.xsds());

            bf.registerSingleton(name, newWS);
            LOG.info("Web service: {} has been added", name);
        }/*from  w ww  .  jav  a2 s  .c  o m*/
    }

}

From source file:io.neba.core.selftests.SelftestRegistrar.java

/**
 * In case no annotation metadata exists, find selftests by checking all
 * methods for the {@link SelfTest} annotation.
 *//*from ww  w. ja va  2 s .  c  om*/
private void findSelftestUsingReflection(final ConfigurableListableBeanFactory factory, final String beanName,
        final Bundle bundle) {
    Class<?> beanType = factory.getType(beanName);
    if (beanType != null) {
        beanType = unproxy(beanType);
        ReflectionUtils.doWithMethods(beanType, new MethodCallback() {
            @Override
            public void doWith(Method method) throws IllegalArgumentException, IllegalAccessException {
                SelfTest selfTest = AnnotationUtils.findAnnotation(method, SelfTest.class);
                if (selfTest != null) {
                    String methodName = method.getName();
                    selftestReferences
                            .add(new SelftestReference(factory, beanName, selfTest, methodName, bundle));
                }
            }
        });
    }
}

From source file:com.github.steveash.spring.WiringFactoryBeanFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    log.debug("Post processing the bean factory");
    String[] wiringFactories = beanFactory.getBeanNamesForType(WiringFactory.class, false, false);
    for (String beanDefName : wiringFactories) {
        Class<?> factoryType = checkNotNull(beanFactory.getType(beanDefName), "cant get type for bean");
        Class<?> factoryReturnType = checkNotNull(getPrototypeClassFromFactory(factoryType), "cant get return");

        addPrototypeDef(beanFactory, beanDefName, factoryReturnType);
    }// w w w  .  j av a  2 s .c  o m
}

From source file:org.constretto.spring.ConfigurationAnnotationConfigurer.java

@Override
public void postProcessBeanFactory(final ConfigurableListableBeanFactory beanFactory) throws BeansException {
    for (String beanName : beanFactory.getBeanDefinitionNames()) {
        final BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
        final Class<?> beanType = beanFactory.getType(beanName);
        if (!configurableConstructorCache.containsKey(beanType)) {
            configurableConstructorCache.put(beanType, resolveConfigurableConstructor(beanType));
        }//from  ww w .  j  a v a2 s .c  o  m
        final Constructor<?> resolvedConstructor = configurableConstructorCache.get(beanType);
        if (resolvedConstructor != null) {
            final ConstructorArgumentValues constructorArgumentValues = beanDefinition
                    .getConstructorArgumentValues();
            final ArgumentDescription[] argumentDescriptions = ArgumentDescriptionFactory
                    .create(resolvedConstructor).resolveParameters();
            for (int i = 0; i < argumentDescriptions.length; i++) {
                ArgumentDescription argumentDescription = argumentDescriptions[i];
                if (!constructorArgumentValues.hasIndexedArgumentValue(i)) {
                    final String keyName = argumentDescription.constrettoConfigurationKeyCandidate();
                    if (configuration.hasValue(keyName)) {
                        constructorArgumentValues.addIndexedArgumentValue(i,
                                configuration.evaluateTo(argumentDescription.getType(), keyName));
                    }
                }
            }
        }

    }
}

From source file:com.art4ul.loadinstead.bean.LoadInsteadBeanFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    ClassMapper mapper;/*from ww w. j  a v a  2  s  .  c  om*/
    try {
        mapper = ClassMapper.load(loadInstedPacks);
    } catch (IOException e) {
        throw new LoadClassMapperException("Exception in process of loading classes to replace", e);
    }
    for (String beanName : beanFactory.getBeanDefinitionNames()) {
        Class<?> beanClass = beanFactory.getType(beanName);
        Class<?> classToReplace = mapper.getClassToReplace(beanClass);
        if (classToReplace != null) {
            BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
            if (beanDefinition != null) {
                beanDefinition.setBeanClassName(classToReplace.getName());
            }

        }
    }
}

From source file:de.extra.client.core.annotation.PropertyPlaceholderPluginConfigurer.java

@Override
protected void processProperties(final ConfigurableListableBeanFactory beanFactory, final Properties properties)
        throws BeansException {
    super.processProperties(beanFactory, properties);

    for (final String beanName : beanFactory.getBeanDefinitionNames()) {
        final Class<?> clazz = beanFactory.getType(beanName);

        if (LOG.isDebugEnabled()) {
            LOG.debug("Configuring properties for bean=" + beanName + "[" + clazz + "]");
        }/*from  w  w  w.  jav  a 2  s  .co m*/

        if (clazz != null && clazz.isAnnotationPresent(PluginConfiguration.class)) {
            setPluginProperties(beanFactory, properties, beanName, clazz);
        }

    }
}

From source file:org.everrest.spring.SpringComponentsLoader.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    beanFactory.registerSingleton("org.everrest.lifecycle.SpringEverrestProcessorLifecycle",
            new SpringEverrestProcessorLifecycle(processor));
    beanFactory.registerSingleton("org.everrest.lifecycle.SpringFileCollectorDestroyer",
            new SpringFileCollectorDestroyer(makeFileCollectorDestroyer()));
    EverrestApplication everrest = makeEverrestApplication();

    ResourceDescriptorValidator rdv = ResourceDescriptorValidator.getInstance();
    addAutowiredDependencies(beanFactory);
    for (String beanName : beanFactory.getBeanDefinitionNames()) {
        Class<?> beanClass = beanFactory.getType(beanName);
        if (beanClass.getAnnotation(Provider.class) != null) {
            ProviderDescriptor pDescriptor = new ProviderDescriptorImpl(beanClass);
            pDescriptor.accept(rdv);//from   w  w w .  j  av a2s  .  c  o m
            everrest.addFactory(new SpringObjectFactory<>(pDescriptor, beanName, beanFactory));
        } else if (beanClass.getAnnotation(Filter.class) != null) {
            FilterDescriptor fDescriptor = new FilterDescriptorImpl(beanClass);
            fDescriptor.accept(rdv);
            everrest.addFactory(new SpringObjectFactory<>(fDescriptor, beanName, beanFactory));
        } else if (beanClass.getAnnotation(Path.class) != null) {
            AbstractResourceDescriptor rDescriptor = new AbstractResourceDescriptorImpl(beanClass);
            rDescriptor.accept(rdv);
            everrest.addFactory(new SpringObjectFactory<>(rDescriptor, beanName, beanFactory));
        }
    }

    processor.addApplication(everrest);
}

From source file:com.urbanmania.spring.beans.factory.config.annotations.PropertyAnnotationAndPlaceholderConfigurer.java

@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties properties)
        throws BeansException {
    super.processProperties(beanFactory, properties);

    for (String name : beanFactory.getBeanDefinitionNames()) {
        MutablePropertyValues mpv = beanFactory.getBeanDefinition(name).getPropertyValues();

        Class<?> clazz;//from   w w w .j a  v a 2 s  . co  m
        try {
            clazz = Class.forName(beanFactory.getBeanDefinition(name).getBeanClassName());
        } catch (ClassNotFoundException e) {
            throw new BeanConfigurationException("error retrieving bean class", e);
        }
        if (FactoryBean.class.isAssignableFrom(clazz)) {
            processAnnotatedProperties(properties, name, mpv, clazz);
        }

        clazz = beanFactory.getType(name);
        processAnnotatedProperties(properties, name, mpv, clazz);
    }
}

From source file:org.openspaces.core.context.GigaSpaceLateContextBeanFactoryPostProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    String[] beanNames = beanFactory.getBeanDefinitionNames();
    for (String beanName : beanNames) {
        if (!beanFactory.isSingleton(beanName)) {
            continue;
        }//from   w w w.  j  a  v a  2  s .com
        List<AnnotatedMember> metadata = findClassMetadata(beanFactory.getType(beanName));
        if (metadata.isEmpty()) {
            continue;
        }
        Object bean = beanFactory.getBean(beanName);
        for (AnnotatedMember member : metadata) {
            member.inject(bean);
        }
    }
}