FileDocCategorySizeDatePackage
JAXBIntrospector.javaAPI DocJava SE 6 API2481Tue Jun 10 00:27:04 BST 2008javax.xml.bind

JAXBIntrospector

public abstract class JAXBIntrospector extends Object
Provide access to JAXB xml binding data for a JAXB object.

Intially, the intent of this class is to just conceptualize how a JAXB application developer can access xml binding information, independent if binding model is java to schema or schema to java. Since accessing the XML element name related to a JAXB element is a highly requested feature, demonstrate access to this binding information. The factory method to get a JAXBIntrospector instance is {@link JAXBContext#createJAXBIntrospector()}.

see
JAXBContext#createJAXBIntrospector()
since
JAXB2.0

Fields Summary
Constructors Summary
Methods Summary
public abstract javax.xml.namespace.QNamegetElementName(java.lang.Object jaxbElement)

Get xml element qname for jaxbElement.

param
jaxbElement is an object that {@link #isElement(Object)} returned true.
return
xml element qname associated with jaxbElement; null if jaxbElement is not a JAXB Element.

public static java.lang.ObjectgetValue(java.lang.Object jaxbElement)

Get the element value of a JAXB element.

Convenience method to abstract whether working with either a javax.xml.bind.JAXBElement instance or an instance of @XmlRootElement annotated Java class.

param
jaxbElement object that #isElement(Object) returns true.
return
The element value of the jaxbElement.

	if (jaxbElement instanceof JAXBElement) {
	    return ((JAXBElement)jaxbElement).getValue();
	} else {
	    // assume that class of this instance is 
	    // annotated with @XmlRootElement.
	    return jaxbElement;
	}
    
public abstract booleanisElement(java.lang.Object object)

Return true iff object represents a JAXB element.

Parameter object is a JAXB element for following cases:

  1. It is an instance of javax.xml.bind.JAXBElement.
  2. The class of object is annotated with @XmlRootElement.

see
#getElementName(Object)