org.apache.axis2.jaxws.marshaller.impl.alt
Class Element

java.lang.Object
  extended by org.apache.axis2.jaxws.marshaller.impl.alt.Element

public class Element
extends java.lang.Object

Characteristics of the "Element" value. The Element value is ready for marshalling or is the result of unmarshalling. The Element value represents the element rendering. Thus it is either a JAXBElement or has the @XmlRootElement annotation. (i.e. it is never a java.lang.String) The Element value is not a JAX-WS object. (i.e. it is not a holder or exception) Characteristics of the "Type" value It is the type value associated with the element value. (Thus it is either the element value or it is value of the JAXBElement The type value is usually the object needed for the method signature (i.e. String)

Here is an example for illustration: ...

..

..

JAXB will generate the following objects: E1, T2, E3 E1 will have an @XMLRootElement annotation. It is "element" and "type" enabled. e2 does not have a generated object. So it will be represented as a JAXBElement that contains an object T2. The JAXBElement is "element" enabled. T2 represents a complexType. It is only "type" enabled. E3 represents the e3 complexType (it does not represent the e3 element). Thus E3 is "type enabled".

When JAXB unmarshals an object, it will return an "element" enabled object (either a generatated object with @XMLRootElement or a JAXBElement). Conversely, you must always marshal "element" enabled objects.

See Also:

At the signature level, the values passed as arguments in an SEI operation represent type enabled objects. Each of the object must be converted to an element enabled object to marshal (or conversely converted to a type enabled object when unmarshalling)


Constructor Summary
Element(java.lang.Object elementValue, QName qName)
          Create Element from an
Element(java.lang.Object typeValue, QName qName, java.lang.Class cls)
           
 
Method Summary
 java.lang.Object getElementValue()
           
 QName getQName()
           
 java.lang.Object getTypeValue()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Element

public Element(java.lang.Object elementValue,
               QName qName)
Create Element from an

Parameters:
elementValue - must be JAXBElement or @XmlRootElement rendered
qName - associated QName

Element

public Element(java.lang.Object typeValue,
               QName qName,
               java.lang.Class cls)
Parameters:
typeValue - must not be a JAXBElement. Must not have @XmlRootElement rendering. typeValue must not be a Holder or other JAXWS api value.
qName - associated QName
cls -
Method Detail

getElementValue

public java.lang.Object getElementValue()

getTypeValue

public java.lang.Object getTypeValue()

getQName

public QName getQName()


Copyright © 2007 Apache Web Services Project. All Rights Reserved.