in uimafit-core/src/main/java/org/apache/uima/fit/factory/ExternalResourceFactory.java [1389:1409]
static ResourceValueType getResourceParameterType(Object aValue) {
if (aValue == null) {
return ResourceValueType.NO_RESOURCE;
}
boolean isResourcePrimitive = aValue instanceof ExternalResourceDescription;
boolean isResourceArray = aValue.getClass().isArray() && ExternalResourceDescription.class
.isAssignableFrom(aValue.getClass().getComponentType());
boolean isResourceCollection = (Collection.class.isAssignableFrom(aValue.getClass())
&& !((Collection) aValue).isEmpty()
&& ((Collection) aValue).iterator().next() instanceof ExternalResourceDescription);
if (isResourcePrimitive) {
return ResourceValueType.PRIMITIVE;
} else if (isResourceArray) {
return ResourceValueType.ARRAY;
} else if (isResourceCollection) {
return ResourceValueType.COLLECTION;
} else {
return ResourceValueType.NO_RESOURCE;
}
}