org.apache.tuscany.sca.databinding.jaxb
Class JAXBContextHelper

java.lang.Object
  extended by org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper

public class JAXBContextHelper
extends java.lang.Object


Method Summary
static javax.xml.bind.JAXBContext createJAXBContext(java.lang.Class<?> cls)
          Create a JAXBContext for a given class
static javax.xml.bind.JAXBContext createJAXBContext(java.lang.Class<?>[] classes)
          Create a JAXContext for an array of classes
static javax.xml.bind.JAXBContext createJAXBContext(DataType dataType)
           
static javax.xml.bind.JAXBContext createJAXBContext(Interface intf)
           
static javax.xml.bind.JAXBContext createJAXBContext(Interface intf, boolean useWrapper)
          Create a JAXBContext for a given java interface
static javax.xml.bind.JAXBContext createJAXBContext(java.util.List<DataType> dataTypes)
           
static javax.xml.bind.JAXBContext createJAXBContext(java.util.Set<java.lang.Class<?>> classes)
           
static javax.xml.bind.JAXBContext createJAXBContext(TransformationContext tContext, boolean source)
           
static java.lang.Object createJAXBElement(javax.xml.bind.JAXBContext context, DataType dataType, java.lang.Object value)
           
static java.lang.Object createReturnValue(javax.xml.bind.JAXBContext context, DataType dataType, java.lang.Object value)
           
static java.lang.Class<?> getJavaType(DataType<?> dataType)
           
static javax.xml.bind.Marshaller getMarshaller(javax.xml.bind.JAXBContext context)
           
static javax.xml.bind.Unmarshaller getUnmarshaller(javax.xml.bind.JAXBContext context)
           
static XMLType getXmlTypeName(java.lang.Class<?> javaType)
           
static java.lang.String jaxbDecapitalize(java.lang.String name)
          The JAXB RI doesn't implement the decapitalization algorithm in the JAXB spec.
static void releaseJAXBMarshaller(javax.xml.bind.JAXBContext context, javax.xml.bind.Marshaller marshaller)
           
static void releaseJAXBUnmarshaller(javax.xml.bind.JAXBContext context, javax.xml.bind.Unmarshaller unmarshaller)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(java.lang.Class<?> cls)
                                                    throws javax.xml.bind.JAXBException
Create a JAXBContext for a given class

Parameters:
cls -
Returns:
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(TransformationContext tContext,
                                                           boolean source)
                                                    throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(DataType dataType)
                                                    throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getUnmarshaller

public static javax.xml.bind.Unmarshaller getUnmarshaller(javax.xml.bind.JAXBContext context)
                                                   throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

releaseJAXBUnmarshaller

public static void releaseJAXBUnmarshaller(javax.xml.bind.JAXBContext context,
                                           javax.xml.bind.Unmarshaller unmarshaller)

getMarshaller

public static javax.xml.bind.Marshaller getMarshaller(javax.xml.bind.JAXBContext context)
                                               throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

releaseJAXBMarshaller

public static void releaseJAXBMarshaller(javax.xml.bind.JAXBContext context,
                                         javax.xml.bind.Marshaller marshaller)

createJAXBElement

public static java.lang.Object createJAXBElement(javax.xml.bind.JAXBContext context,
                                                 DataType dataType,
                                                 java.lang.Object value)

createReturnValue

public static java.lang.Object createReturnValue(javax.xml.bind.JAXBContext context,
                                                 DataType dataType,
                                                 java.lang.Object value)

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(java.lang.Class<?>[] classes)
                                                    throws javax.xml.bind.JAXBException
Create a JAXContext for an array of classes

Parameters:
classes -
Returns:
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(java.util.Set<java.lang.Class<?>> classes)
                                                    throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(Interface intf,
                                                           boolean useWrapper)
                                                    throws javax.xml.bind.JAXBException
Create a JAXBContext for a given java interface

Parameters:
intf -
Returns:
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(java.util.List<DataType> dataTypes)
                                                    throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

createJAXBContext

public static javax.xml.bind.JAXBContext createJAXBContext(Interface intf)
                                                    throws javax.xml.bind.JAXBException
Throws:
javax.xml.bind.JAXBException

getJavaType

public static java.lang.Class<?> getJavaType(DataType<?> dataType)

getXmlTypeName

public static XMLType getXmlTypeName(java.lang.Class<?> javaType)

jaxbDecapitalize

public static java.lang.String jaxbDecapitalize(java.lang.String name)
The JAXB RI doesn't implement the decapitalization algorithm in the JAXB spec. See Sun bug 6505643 for details. This means that instead of calling java.beans.Introspector.decapitalize() as the JAXB spec says, Tuscany needs to mimic the incorrect JAXB RI algorithm.