in cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceModel.java [563:588]
private static boolean checkKey(Type mapEntryType) {
if (!(mapEntryType instanceof ParameterizedType)) {
return false;
}
ParameterizedType parameterizedKeyType = (ParameterizedType)mapEntryType;
if ((!Map.class.isAssignableFrom(cast(parameterizedKeyType.getRawType()))) ||
(!parameterizedKeyType.getActualTypeArguments()[0].equals(String.class))) {
return false;
}
Type valueType = parameterizedKeyType.getActualTypeArguments()[1];
if ((!valueType.equals(Object.class) &&
(
(!(valueType instanceof WildcardType)) ||
(((WildcardType)valueType).getUpperBounds().length != 1) ||
(!((WildcardType)valueType).getUpperBounds()[0].equals(Object.class))))) {
return false;
}
return true;
}