private boolean containsArgWithName(String name, ConstructorArgumentValues cvs) { return (checkName(name, cvs.getGenericArgumentValues()) || checkName(name, cvs.getIndexedArgumentValues().values())); }
private boolean containsArgWithName(String name, ConstructorArgumentValues cvs) { return (checkName(name, cvs.getGenericArgumentValues()) || checkName(name, cvs.getIndexedArgumentValues().values())); }
Set<ValueHolder> valueHolders = new LinkedHashSet<>(resolvedValues.getArgumentCount()); valueHolders.addAll(resolvedValues.getIndexedArgumentValues().values()); valueHolders.addAll(resolvedValues.getGenericArgumentValues()); for (ValueHolder value : valueHolders) { String argType = (value.getType() != null ? ClassUtils.getShortName(value.getType()) :
/** * Traverse the given BeanDefinition object and the MutablePropertyValues * and ConstructorArgumentValues contained in them. * @param beanDefinition the BeanDefinition object to traverse * @see #resolveStringValue(String) */ public void visitBeanDefinition(BeanDefinition beanDefinition) { visitParentName(beanDefinition); visitBeanClassName(beanDefinition); visitFactoryBeanName(beanDefinition); visitFactoryMethodName(beanDefinition); visitScope(beanDefinition); if (beanDefinition.hasPropertyValues()) { visitPropertyValues(beanDefinition.getPropertyValues()); } if (beanDefinition.hasConstructorArgumentValues()) { ConstructorArgumentValues cas = beanDefinition.getConstructorArgumentValues(); visitIndexedArgumentValues(cas.getIndexedArgumentValues()); visitGenericArgumentValues(cas.getGenericArgumentValues()); } }
Set<ValueHolder> valueHolders = new LinkedHashSet<>(resolvedValues.getArgumentCount()); valueHolders.addAll(resolvedValues.getIndexedArgumentValues().values()); valueHolders.addAll(resolvedValues.getGenericArgumentValues()); for (ValueHolder value : valueHolders) { String argType = (value.getType() != null ? ClassUtils.getShortName(value.getType()) :
for (ConstructorArgumentValues.ValueHolder valueHolder : cargs.getGenericArgumentValues()) { if (valueHolder.isConverted()) { resolvedValues.addGenericArgumentValue(valueHolder);
/** * Traverse the given BeanDefinition object and the MutablePropertyValues * and ConstructorArgumentValues contained in them. * @param beanDefinition the BeanDefinition object to traverse * @see #resolveStringValue(String) */ public void visitBeanDefinition(BeanDefinition beanDefinition) { visitParentName(beanDefinition); visitBeanClassName(beanDefinition); visitFactoryBeanName(beanDefinition); visitFactoryMethodName(beanDefinition); visitScope(beanDefinition); if (beanDefinition.hasPropertyValues()) { visitPropertyValues(beanDefinition.getPropertyValues()); } if (beanDefinition.hasConstructorArgumentValues()) { ConstructorArgumentValues cas = beanDefinition.getConstructorArgumentValues(); visitIndexedArgumentValues(cas.getIndexedArgumentValues()); visitGenericArgumentValues(cas.getGenericArgumentValues()); } }
for (ConstructorArgumentValues.ValueHolder valueHolder : cargs.getGenericArgumentValues()) { if (valueHolder.isConverted()) { resolvedValues.addGenericArgumentValue(valueHolder);
private boolean containsArgWithName(String name, ConstructorArgumentValues cvs) { if (!checkName(name, cvs.getGenericArgumentValues())) { return checkName(name, cvs.getIndexedArgumentValues().values()); } return true; }
private void updateBeanDefinitionRootContainerName(String rootContainerName, BeanDefinition beanDefinition) { Class<?> beanClass = null; try { beanClass = currentThread().getContextClassLoader().loadClass(beanDefinition.getBeanClassName()); } catch (ClassNotFoundException e) { // Nothing to do, spring will break because of this eventually } if (beanClass == null || Component.class.isAssignableFrom(beanClass)) { updateAnnotationValue(ROOT_CONTAINER_NAME_KEY, rootContainerName, beanDefinition); } for (PropertyValue propertyValue : beanDefinition.getPropertyValues().getPropertyValueList()) { Object value = propertyValue.getValue(); processBeanValue(rootContainerName, value); } for (ConstructorArgumentValues.ValueHolder valueHolder : beanDefinition.getConstructorArgumentValues() .getGenericArgumentValues()) { processBeanValue(rootContainerName, valueHolder.getValue()); } }
private void beanConstructorArgs() { ConstructorArgumentValues values = bd.getConstructorArgumentValues(); // indexed args @SuppressWarnings("unchecked") Map<Integer, ValueHolder> indexedArgs = new TreeMap<Integer, ValueHolder>(values.getIndexedArgumentValues()); for (Map.Entry<Integer, ValueHolder> entry : indexedArgs.entrySet()) { Integer index = entry.getKey(); ValueHolder valueHolder = entry.getValue(); Element constructorArgElement = beanElement.newSubElement("constructor-arg"); constructorArgElement.addAttribute("index", index.toString()); beanConstructorArg(constructorArgElement, valueHolder); } // generic args @SuppressWarnings("unchecked") List<ValueHolder> genericArgs = values.getGenericArgumentValues(); for (ValueHolder valueHolder : genericArgs) { Element constructorArgElement = beanElement.newSubElement("constructor-arg"); beanConstructorArg(constructorArgElement, valueHolder); } }
private void beanConstructorArgs() { ConstructorArgumentValues values = bd.getConstructorArgumentValues(); // indexed args @SuppressWarnings("unchecked") Map<Integer, ValueHolder> indexedArgs = new TreeMap<Integer, ValueHolder>(values.getIndexedArgumentValues()); for (Map.Entry<Integer, ValueHolder> entry : indexedArgs.entrySet()) { Integer index = entry.getKey(); ValueHolder valueHolder = entry.getValue(); Element constructorArgElement = beanElement.newSubElement("constructor-arg"); constructorArgElement.addAttribute("index", index.toString()); beanConstructorArg(constructorArgElement, valueHolder); } // generic args @SuppressWarnings("unchecked") List<ValueHolder> genericArgs = values.getGenericArgumentValues(); for (ValueHolder valueHolder : genericArgs) { Element constructorArgElement = beanElement.newSubElement("constructor-arg"); beanConstructorArg(constructorArgElement, valueHolder); } }
/** * Traverse the given BeanDefinition object and the MutablePropertyValues * and ConstructorArgumentValues contained in them. * @param beanDefinition the BeanDefinition object to traverse * @see #resolveStringValue(String) */ public void visitBeanDefinition(BeanDefinition beanDefinition) { visitParentName(beanDefinition); visitBeanClassName(beanDefinition); visitFactoryBeanName(beanDefinition); visitFactoryMethodName(beanDefinition); visitScope(beanDefinition); visitPropertyValues(beanDefinition.getPropertyValues()); ConstructorArgumentValues cas = beanDefinition.getConstructorArgumentValues(); visitIndexedArgumentValues(cas.getIndexedArgumentValues()); visitGenericArgumentValues(cas.getGenericArgumentValues()); }
for (ConstructorArgumentValues.ValueHolder valueHolder : cargs.getGenericArgumentValues()) { if (valueHolder.isConverted()) { resolvedValues.addGenericArgumentValue(valueHolder);
public void visitConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues, Object data) throws BeansException { Map indexedArgumentValues = constructorArgumentValues.getIndexedArgumentValues(); for (Iterator iterator = indexedArgumentValues.values().iterator(); iterator.hasNext();) { visitConstructorArgumentValue((ConstructorArgumentValues.ValueHolder) iterator.next(), data); } List genericArgumentValues = constructorArgumentValues.getGenericArgumentValues(); for (Iterator iterator = genericArgumentValues.iterator(); iterator.hasNext();) { visitConstructorArgumentValue((ConstructorArgumentValues.ValueHolder) iterator.next(), data); } }
public void visitConstructorArgumentValues(ConstructorArgumentValues constructorArgumentValues, Object data) throws BeansException { Map indexedArgumentValues = constructorArgumentValues.getIndexedArgumentValues(); for (Iterator iterator = indexedArgumentValues.values().iterator(); iterator.hasNext();) { visitConstructorArgumentValue((ConstructorArgumentValues.ValueHolder) iterator.next(), data); } List genericArgumentValues = constructorArgumentValues.getGenericArgumentValues(); for (Iterator iterator = genericArgumentValues.iterator(); iterator.hasNext();) { visitConstructorArgumentValue((ConstructorArgumentValues.ValueHolder) iterator.next(), data); } }
private boolean containsArgWithName(String name, ConstructorArgumentValues cvs) { return (checkName(name, cvs.getGenericArgumentValues()) || checkName(name, cvs.getIndexedArgumentValues().values())); }
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { boolean trace = log.isTraceEnabled(); String[] names = beanFactory.getBeanDefinitionNames(); for (String name : names) { BeanDefinition definition = beanFactory.getBeanDefinition(name); if (definition.hasAttribute(ParsingUtils.BLUEPRINT_MARKER_NAME)) { ConstructorArgumentValues cArgs = definition.getConstructorArgumentValues(); if (trace) log.trace("Inspecting cycles for (blueprint) bean " + name); tag(cArgs.getGenericArgumentValues(), name, definition); tag(cArgs.getIndexedArgumentValues().values(), name, definition); } } }
@Override protected Class<?> getTypeForFactoryBean( String beanName, RootBeanDefinition mbd ) { if ( mbd instanceof ExposedBeanDefinition ) { List<ConstructorArgumentValues.ValueHolder> factoryArguments = mbd.getConstructorArgumentValues().getGenericArgumentValues(); return ( (AcrossContextBeanRegistry) getBean( mbd.getFactoryBeanName() ) ).getBeanTypeFromModule( (String) factoryArguments.get( 0 ).getValue(), (String) factoryArguments.get( 1 ).getValue() ); } return super.getTypeForFactoryBean( beanName, mbd ); }
/** * An exposed bean definition does not really get created but gets fetched from the external context. */ @Override protected Object doCreateBean( String beanName, RootBeanDefinition mbd, Object[] args ) { if ( mbd instanceof ExposedBeanDefinition ) { List<ConstructorArgumentValues.ValueHolder> factoryArguments = mbd.getConstructorArgumentValues().getGenericArgumentValues(); return ( (AcrossContextBeanRegistry) getBean( mbd.getFactoryBeanName() ) ).getBeanFromModule( (String) factoryArguments.get( 0 ).getValue(), (String) factoryArguments.get( 1 ).getValue() ); } return super.doCreateBean( beanName, mbd, args ); }