protected void visitArray(Object[] arrayVal) { for (int i = 0; i < arrayVal.length; i++) { Object elem = arrayVal[i]; Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { arrayVal[i] = newVal; } } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitList(List listVal) { for (int i = 0; i < listVal.size(); i++) { Object elem = listVal.get(i); Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { listVal.set(i, newVal); } } }
protected void visitArray(Object[] arrayVal) { for (int i = 0; i < arrayVal.length; i++) { Object elem = arrayVal[i]; Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { arrayVal[i] = newVal; } } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitSet(Set setVal) { Set newContent = new LinkedHashSet(); boolean entriesModified = false; for (Object elem : setVal) { int elemHash = (elem != null ? elem.hashCode() : 0); Object newVal = resolveValue(elem); int newValHash = (newVal != null ? newVal.hashCode() : 0); newContent.add(newVal); entriesModified = entriesModified || (newVal != elem || newValHash != elemHash); } if (entriesModified) { setVal.clear(); setVal.addAll(newContent); } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitMap(Map<?, ?> mapVal) { Map newContent = new LinkedHashMap(); boolean entriesModified = false; for (Map.Entry entry : mapVal.entrySet()) { Object key = entry.getKey(); int keyHash = (key != null ? key.hashCode() : 0); Object newKey = resolveValue(key); int newKeyHash = (newKey != null ? newKey.hashCode() : 0); Object val = entry.getValue(); Object newVal = resolveValue(val); newContent.put(newKey, newVal); entriesModified = entriesModified || (newVal != val || newKey != key || newKeyHash != keyHash); } if (entriesModified) { mapVal.clear(); mapVal.putAll(newContent); } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitList(List listVal) { for (int i = 0; i < listVal.size(); i++) { Object elem = listVal.get(i); Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { listVal.set(i, newVal); } } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitSet(Set setVal) { Set newContent = new LinkedHashSet(); boolean entriesModified = false; for (Object elem : setVal) { int elemHash = (elem != null ? elem.hashCode() : 0); Object newVal = resolveValue(elem); int newValHash = (newVal != null ? newVal.hashCode() : 0); newContent.add(newVal); entriesModified = entriesModified || (newVal != elem || newValHash != elemHash); } if (entriesModified) { setVal.clear(); setVal.addAll(newContent); } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitMap(Map<?, ?> mapVal) { Map newContent = new LinkedHashMap(); boolean entriesModified = false; for (Map.Entry entry : mapVal.entrySet()) { Object key = entry.getKey(); int keyHash = (key != null ? key.hashCode() : 0); Object newKey = resolveValue(key); int newKeyHash = (newKey != null ? newKey.hashCode() : 0); Object val = entry.getValue(); Object newVal = resolveValue(val); newContent.put(newKey, newVal); entriesModified = entriesModified || (newVal != val || newKey != key || newKeyHash != keyHash); } if (entriesModified) { mapVal.clear(); mapVal.putAll(newContent); } }
protected void visitIndexedArgumentValues(Map<Integer, ConstructorArgumentValues.ValueHolder> ias) { for (ConstructorArgumentValues.ValueHolder valueHolder : ias.values()) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas) { for (ConstructorArgumentValues.ValueHolder valueHolder : gas) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitIndexedArgumentValues(Map<Integer, ConstructorArgumentValues.ValueHolder> ias) { for (ConstructorArgumentValues.ValueHolder valueHolder : ias.values()) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitPropertyValues(MutablePropertyValues pvs) { PropertyValue[] pvArray = pvs.getPropertyValues(); for (PropertyValue pv : pvArray) { Object newVal = resolveValue(pv.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, pv.getValue())) { pvs.add(pv.getName(), newVal); } } }
protected void visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas) { for (ConstructorArgumentValues.ValueHolder valueHolder : gas) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitPropertyValues(MutablePropertyValues pvs) { PropertyValue[] pvArray = pvs.getPropertyValues(); for (PropertyValue pv : pvArray) { Object newVal = resolveValue(pv.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, pv.getValue())) { pvs.add(pv.getName(), newVal); } } }
@Override protected Object resolveValue(Object value) { BeanDefinition definition = null; String beanName = null; if (value instanceof BeanDefinition) { definition = (BeanDefinition) value; beanName = BeanDefinitionReaderUtils.generateBeanName(definition, registry); } else if (value instanceof BeanDefinitionHolder) { BeanDefinitionHolder holder = (BeanDefinitionHolder) value; definition = holder.getBeanDefinition(); beanName = holder.getBeanName(); } if (definition != null) { boolean nestedScoped = scope.equals(definition.getScope()); boolean scopeChangeRequiresProxy = !scoped && nestedScoped; if (scopeChangeRequiresProxy) { // Exit here so that nested inner bean definitions are not // analysed return createScopedProxy(beanName, definition, registry, proxyTargetClass); } } // Nested inner bean definitions are recursively analysed here value = super.resolveValue(value); return value; } }
protected void visitArray(Object[] arrayVal) { for (int i = 0; i < arrayVal.length; i++) { Object elem = arrayVal[i]; Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { arrayVal[i] = newVal; } } }
@SuppressWarnings({"unchecked", "rawtypes"}) protected void visitList(List listVal) { for (int i = 0; i < listVal.size(); i++) { Object elem = listVal.get(i); Object newVal = resolveValue(elem); if (!ObjectUtils.nullSafeEquals(newVal, elem)) { listVal.set(i, newVal); } } }
protected void visitIndexedArgumentValues(Map<Integer, ConstructorArgumentValues.ValueHolder> ias) { for (ConstructorArgumentValues.ValueHolder valueHolder : ias.values()) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas) { for (ConstructorArgumentValues.ValueHolder valueHolder : gas) { Object newVal = resolveValue(valueHolder.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, valueHolder.getValue())) { valueHolder.setValue(newVal); } } }
protected void visitPropertyValues(MutablePropertyValues pvs) { PropertyValue[] pvArray = pvs.getPropertyValues(); for (PropertyValue pv : pvArray) { Object newVal = resolveValue(pv.getValue()); if (!ObjectUtils.nullSafeEquals(newVal, pv.getValue())) { pvs.add(pv.getName(), newVal); } } }