com.evolveum.midpoint.schema
Class XsdTypeConverter

java.lang.Object
  extended by com.evolveum.midpoint.schema.XsdTypeConverter

public class XsdTypeConverter
extends java.lang.Object

Simple implementation that converts XSD primitive types to Java (and vice versa). It convert type names (xsd types to java classes) and also the values. The implementation is very simple now. In fact just a bunch of ifs. We don't need much more now. If more complex thing will be needed, we will extend the implementation later.

Author:
Radovan Semancik

Constructor Summary
XsdTypeConverter()
           
 
Method Summary
static boolean canConvert(java.lang.Class clazz)
           
static java.lang.Class toJavaType(javax.xml.namespace.QName xsdType)
           
static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement)
          Expects type information in xsi:type
static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement, java.lang.Class type)
           
static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement, javax.xml.namespace.QName type)
           
static long toMillis(javax.xml.datatype.XMLGregorianCalendar xmlCal)
           
static TypedValue toTypedJavaValueWithDefaultType(org.w3c.dom.Element xmlElement, javax.xml.namespace.QName defaultType)
          Try to locate element type from xsi:type, fall back to specified default type.
static javax.xml.datatype.XMLGregorianCalendar toXMLGregorianCalendar(java.util.GregorianCalendar cal)
           
static javax.xml.datatype.XMLGregorianCalendar toXMLGregorianCalendar(long timeInMillis)
           
static void toXsdElement(java.lang.Object val, org.w3c.dom.Element element)
           
static void toXsdElement(java.lang.Object val, org.w3c.dom.Element element, boolean recordType)
           
static void toXsdElement(java.lang.Object val, javax.xml.namespace.QName typeName, org.w3c.dom.Element element, boolean recordType)
           
static javax.xml.namespace.QName toXsdType(java.lang.Class javaClass)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XsdTypeConverter

public XsdTypeConverter()
Method Detail

toXsdType

public static javax.xml.namespace.QName toXsdType(java.lang.Class javaClass)

toJavaType

public static java.lang.Class toJavaType(javax.xml.namespace.QName xsdType)

toJavaValue

public static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement,
                                           java.lang.Class type)

toJavaValue

public static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement,
                                           javax.xml.namespace.QName type)

toJavaValue

public static java.lang.Object toJavaValue(org.w3c.dom.Element xmlElement)
Expects type information in xsi:type

Parameters:
xmlElement -
Returns:

toTypedJavaValueWithDefaultType

public static TypedValue toTypedJavaValueWithDefaultType(org.w3c.dom.Element xmlElement,
                                                         javax.xml.namespace.QName defaultType)
Try to locate element type from xsi:type, fall back to specified default type.

Parameters:
xmlElement -
defaultType -
Returns:
converted java value
Throws:
java.lang.IllegalStateException - if no xsi:type or default type specified

toXsdElement

public static void toXsdElement(java.lang.Object val,
                                javax.xml.namespace.QName typeName,
                                org.w3c.dom.Element element,
                                boolean recordType)

toXsdElement

public static void toXsdElement(java.lang.Object val,
                                org.w3c.dom.Element element)

toXsdElement

public static void toXsdElement(java.lang.Object val,
                                org.w3c.dom.Element element,
                                boolean recordType)

canConvert

public static boolean canConvert(java.lang.Class clazz)

toXMLGregorianCalendar

public static javax.xml.datatype.XMLGregorianCalendar toXMLGregorianCalendar(long timeInMillis)

toXMLGregorianCalendar

public static javax.xml.datatype.XMLGregorianCalendar toXMLGregorianCalendar(java.util.GregorianCalendar cal)

toMillis

public static long toMillis(javax.xml.datatype.XMLGregorianCalendar xmlCal)


Copyright © 2011 evolveum. All Rights Reserved.