Module java.xml.bind
Package javax.xml.bind

## Class JAXBIntrospector

- java.lang.Object
- - javax.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 `JAXBContext.createJAXBIntrospector()`.

  Since:
    1.6, JAXB 2.0
  See Also:
    `JAXBContext.createJAXBIntrospector()`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JAXBIntrospector​()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract QName` | `getElementName​(Object jaxbElement)` | Get xml element qname for `jaxbElement`.
    `static Object` | `getValue​(Object jaxbElement)` | Get the element value of a JAXB element.
    `abstract boolean` | `isElement​(Object object)` | Return true if `object` represents a JAXB element.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JAXBIntrospector

          public JAXBIntrospector​()

  - ### Method Detail

    - #### isElement

          public abstract boolean isElement​(Object object)

      Return true if `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 Also:
        `getElementName(Object)`

    - #### getElementName

          public abstract QName getElementName​(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 JAXB Element.

    - #### getValue

          public static Object getValue​(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.

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