Interface ElementInfo<T,C>

All Superinterfaces:
Element<T,C>, Locatable, TypeInfo<T,C>
All Known Subinterfaces:
RuntimeElementInfo
All Known Implementing Classes:
CElementInfo

public interface ElementInfo<T,C> extends Element<T,C>
A particular use (specialization) of JAXBElement. TODO: is ElementInfo adaptable?
Author:
Kohsuke Kawaguchi
  • Method Details

    • getProperty

      ElementPropertyInfo<T,C> getProperty()
      Gets the object that represents the value property.
      Returns:
      non-null.
    • getContentType

      NonElement<T,C> getContentType()
      Short for getProperty().ref().get(0). The type of the value this element holds. Normally, this is the T of JAXBElement<T>. But if the property is adapted, this is the on-the-wire type. Or if the element has a list of values, then this field represents the type of the individual item.
      See Also:
    • getContentInMemoryType

      T getContentInMemoryType()
      T of JAXBElement<T>.

      This is tied to the in-memory representation.

      See Also:
    • getType

      T getType()
      Returns the representation for JAXBElement<contentInMemoryType>.

      This returns the signature in Java and thus isn't affected by the adapter.

      Specified by:
      getType in interface TypeInfo<T,C>
      Returns:
      always non-null.
    • getSubstitutionHead

      ElementInfo<T,C> getSubstitutionHead()
      If this element can substitute another element, return that element.

      Substitutability of elements are transitive. ElementInfo can only substitute ElementInfo.

      Specified by:
      getSubstitutionHead in interface Element<T,C>
      Returns:
      null if no such element exists.
    • getSubstitutionMembers

      Collection<? extends ElementInfo<T,C>> getSubstitutionMembers()
      All the ElementInfos whose getSubstitutionHead() points to this object.
      Returns:
      can be empty but never null.