JAXBIntrospector (Java Platform SE 8 )
Keywords: javax.xml.bind.JAXBIntrospector class
Date: 2018-07-01

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:
    JAXB2.0
  See Also:
    `JAXBContext.createJAXBIntrospector()`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JAXBIntrospector()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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`.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.