Return an XML datatype given a java string describing a java type. : Java XML Binding « XML « Java






Return an XML datatype given a java string describing a java type.

     
//package com.qlogic.commons.utils;

import java.io.ByteArrayOutputStream;

/**
 * General-purpose methods for manipulating URIs and XML schema types
 * 
 * @author Mohammed LOUKILI
 */
public class XmlUtil {
  /**
   * XSD namespace.
   */
  public static final String XSD_NAMESPACE = "http://www.w3.org/2001/XMLSchema#";

  /**
   * Return an XML datatype given a java string describing a java type.
   * 
   * @param javaType
   *            string describing a fully qualified java type.
   * @return a string describing and XML data type
   */
  public static String javaToXmlType(String javaType) {
    if (javaType.equals("java.lang.String")) {
      return XSD_NAMESPACE + "string";
    } else if (javaType.equals("java.lang.Integer")
        || javaType.equals("int")) {
      return XSD_NAMESPACE + "integer";
    } else if (javaType.equals("java.lang.Short")
        || javaType.equals("short")) {
      return XSD_NAMESPACE + "short";
    } else if (javaType.equals("java.lang.Long") || javaType.equals("long")) {
      return XSD_NAMESPACE + "long";
    } else if (javaType.equals("java.lang.Double")
        || javaType.equals("double")) {
      return XSD_NAMESPACE + "double";
    } else if (javaType.equals("java.lang.Float")
        || javaType.equals("float")) {
      return XSD_NAMESPACE + "float";
    } else if (javaType.equals("java.lang.Boolean")
        || javaType.equals("boolean")) {
      return XSD_NAMESPACE + "boolean";
    } else if (javaType.equals("java.lang.Byte") || javaType.equals("byte")) {
      return XSD_NAMESPACE + "byte";
    } else if (javaType.equals("java.net.URL")) {
      return XSD_NAMESPACE + "anyURI";
    } else if (javaType.equals("java.util.Date")) {
      return (XSD_NAMESPACE + "dateTime");
    } else if (javaType.equals("java.math.BigDecimal")) {
      return (XSD_NAMESPACE + "bigDecimal");
    } else {
      throw new IllegalArgumentException("Unrecognised Java type: "
          + javaType);
    }
  }

  /**
   * Convert an XML xsd: type to a fully qualified class name of a java type.
   * 
   * @param xmlType
   *            the local name of an XML type
   * @return a string representing a java class name
   * @throws IllegalArgumentException
   *             if XML datatype unrecognised
   */
  public static String xmlToJavaType(String xmlType)
      throws IllegalArgumentException {
    if (xmlType.equals("string") || xmlType.equals("normalizedString")
        || xmlType.equals("language") || xmlType.equals("Name")
        || xmlType.equals("NCName")) {
      return "java.lang.String";
    } else if (xmlType.equals("positiveInteger")
        || xmlType.equals("negativeInteger") || xmlType.equals("int")
        || xmlType.equals("nonNegativeInteger")
        || xmlType.equals("unsignedInt") || xmlType.equals("integer")
        || xmlType.equals("nonPositiveInteger")) {
      return "java.lang.Integer";
    } else if (xmlType.equals("short") || xmlType.equals("unsignedShort")) {
      return "java.lang.Short";
    } else if (xmlType.equals("long") || xmlType.equals("unsignedLong")) {
      return "java.lang.Long";
    } else if (xmlType.equals("byte") || xmlType.equals("unsignedByte")) {
      return "java.lang.Byte";
    } else if (xmlType.equals("float") || xmlType.equals("decimal")) {
      return "java.lang.Float";
    } else if (xmlType.equals("double")) {
      return "java.lang.Double";
    } else if (xmlType.equals("boolean")) {
      return "java.lang.Boolean";
    } else if (xmlType.equals("anyURI")) {
      return "java.net.URL";
    } else if (xmlType.equals("date")) {
      return "java.util.Date";
    } else if (xmlType.equals("dateTime")) {
      return "java.util.Date";
    } else if (xmlType.equals("bigDecimal")) {
      return "java.math.BigDecimal";
    } else if (xmlType.equals("ID")) {
      return "java.lang.String";
    } else if (xmlType.equals("NMTOKEN")) {
      return "java.lang.String";
    } else {
      throw new IllegalArgumentException("Unrecognised XML data type: "
          + xmlType);
    }
  }

}

   
    
    
    
    
  








Related examples in the same category

1.Jibx XML binding