in taverna-wsdl-generic/src/main/java/org/apache/taverna/wsdl/parser/TypeDescriptor.java [170:206]
private static Class<?> determineClassType(TypeDescriptor descriptor) {
String s = descriptor.getType().toLowerCase();
Class<?> type;
if (descriptor instanceof ArrayTypeDescriptor) {
if (((ArrayTypeDescriptor) descriptor).getElementType() instanceof BaseTypeDescriptor) {
type = String[].class;
} else if (((ArrayTypeDescriptor) descriptor).isUnbounded()) {
type = org.w3c.dom.Element[].class;
}
else {
type = org.w3c.dom.Element.class;
}
} else {
if ("string".equals(s)) {
type = String.class;
} else if ("double".equals(s) || "decimal".equals(s)) {
type = Double.TYPE;
} else if ("float".equals(s)) {
type = Float.TYPE;
} else if ("int".equals(s) || "integer".equals(s)) {
type = Integer.TYPE;
} else if ("boolean".equals(s)) {
type = Boolean.TYPE;
} else if ("base64binary".equals(s)) {
type = byte[].class;
} else {
//treat any other basetype as a String.
if (descriptor instanceof BaseTypeDescriptor) {
type=String.class;
}
else {
type = org.w3c.dom.Element.class;
}
}
}
return type;
}