Introduce putIfAbsent() in AnnotationAttributes
Issue: SPR-13060
This commit is contained in:
@@ -963,10 +963,7 @@ public class AnnotatedElementUtils {
|
||||
String aliasedAttributeNameInTarget = AnnotationUtils.getAliasedAttributeName(
|
||||
attributeMethodInTarget, null);
|
||||
if (aliasedAttributeNameInTarget != null) {
|
||||
Object aliasedValueInTarget = attributes.get(aliasedAttributeNameInTarget);
|
||||
if (aliasedValueInTarget == null) {
|
||||
attributes.put(aliasedAttributeNameInTarget, adaptedValue);
|
||||
}
|
||||
attributes.putIfAbsent(aliasedAttributeNameInTarget, adaptedValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,25 @@ public class AnnotationAttributes extends LinkedHashMap<String, Object> {
|
||||
return (T) value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the supplied {@code value} in this map under the specified
|
||||
* {@code key}, unless a value is already stored under the key.
|
||||
* @param key the key under which to store the value
|
||||
* @param value the value to store
|
||||
* @return the current value stored in this map, or {@code null} if no
|
||||
* value was previously stored in this map
|
||||
* @see #get
|
||||
* @see #put
|
||||
*/
|
||||
@Override
|
||||
public Object putIfAbsent(String key, Object value) {
|
||||
Object obj = get(key);
|
||||
if (obj == null) {
|
||||
obj = put(key, value);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
Iterator<Map.Entry<String, Object>> entries = entrySet().iterator();
|
||||
|
||||
Reference in New Issue
Block a user