Class JAXBIntrospector


  • public abstract class JAXBIntrospector
    extends java.lang.Object
    Provide access to Jakarta XML Binding xml binding data for a Jakarta XML Binding object.

    Initially, the intent of this class is to just conceptualize how a Jakarta XML Binding 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 Jakarta XML Binding element is a highly requested feature, demonstrate access to this binding information. The factory method to get a JAXBIntrospector instance is JAXBContext.createJAXBIntrospector().

    See Also:
    JAXBContext.createJAXBIntrospector()
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected JAXBIntrospector()
      Do-nothing constructor for the derived classes.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract javax.xml.namespace.QName getElementName​(java.lang.Object jaxbElement)
      Get xml element qname for jaxbElement.
      static java.lang.Object getValue​(java.lang.Object jaxbElement)
      Get the element value of a Jakarta XML Binding element.
      abstract boolean isElement​(java.lang.Object object)
      Return true if object represents a Jakarta XML Binding element.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JAXBIntrospector

        protected JAXBIntrospector()
        Do-nothing constructor for the derived classes.
    • Method Detail

      • isElement

        public abstract boolean isElement​(java.lang.Object object)

        Return true if object represents a Jakarta XML Binding element.

        Parameter object is a Jakarta XML Binding element for following cases:

        1. It is an instance of jakarta.xml.bind.JAXBElement.
        2. The class of object is annotated with @XmlRootElement.
        See Also:
        getElementName(Object)
      • getElementName

        public abstract javax.xml.namespace.QName getElementName​(java.lang.Object jaxbElement)

        Get xml element qname for jaxbElement.

        Parameters:
        jaxbElement - is an object that isElement(Object) returned true.
        Returns:
        xml element qname associated with jaxbElement; null if jaxbElement is not a JAXBElement.
      • getValue

        public static java.lang.Object getValue​(java.lang.Object jaxbElement)

        Get the element value of a Jakarta XML Binding element.

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

        Parameters:
        jaxbElement - object that #isElement(Object) returns true.
        Returns:
        The element value of the jaxbElement.