private static Class determineClassType()

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;
	}