Top Inners Fields Constructors Methods
org.glassfish.jaxb.runtime.v2.model.impl

pack-priv final Class RuntimeElementInfoImpl

extends ElementInfoImpl<Type, Class<T>, Field, Method>
implements RuntimeElementInfo
Class Inheritance
All Implemented Interfaces
org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo, org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElement, org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeTypeInfo, org.glassfish.jaxb.core.v2.model.core.TypeInfo, org.glassfish.jaxb.core.v2.model.annotation.Locatable, org.glassfish.jaxb.core.v2.model.core.Element, org.glassfish.jaxb.core.v2.model.core.ElementInfo
Imports
org.glassfish.jaxb.core.v2.model.core.Adapter, .RegistryInfo, org.glassfish.jaxb.core.v2.runtime.IllegalAnnotationException, org.glassfish.jaxb.runtime.v2.runtime.Transducer, org.glassfish.jaxb.runtime.v2.runtime.reflect.Accessor, jakarta.xml.bind.JAXBElement, jakarta.xml.bind.annotation.adapters.XmlAdapter, org.glassfish.jaxb.runtime.v2.model.runtime.*, java.lang.reflect.Field, .Method, .Type, java.util.Collection, .Collections, .List

Author
Kohsuke Kawaguchi

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class

Field Summary

Modifier and TypeField and Description
private final Class<? extends XmlAdapter<ValueType, BoundType>>
adapterType

The adapter specified by getProperty().getAdapter().

Constructor Summary

AccessConstructor and Description
public
RuntimeElementInfoImpl(RuntimeModelBuilder modelBuilder, RegistryInfo<T, C> registry, Method method)

Method Summary

Modifier and TypeMethod and Description
protected ElementInfoImpl<Type, Class<T>, Field, Method>.PropertyImpl
public RuntimeNonElement
public RuntimeElementPropertyInfo
public RuntimeClassInfo
public Class<? extends JAXBElement<T>>
Inherited from org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl:
canBeReferencedByIDREFgetContentInMemoryTypegetElementNamegetLocationgetSubstitutionHeadgetSubstitutionMemberslinkparseElementName

Field Detail

adapterTypeback to summary
private final Class<? extends XmlAdapter<ValueType, BoundType>> adapterType

The adapter specified by getProperty().getAdapter().

Constructor Detail

RuntimeElementInfoImplback to summary
public RuntimeElementInfoImpl(RuntimeModelBuilder modelBuilder, RegistryInfo<T, C> registry, Method method) throws IllegalAnnotationException
Annotations
@SuppressWarnings:unchecked

Method Detail

createPropertyImplback to summary
protected ElementInfoImpl<Type, Class<T>, Field, Method>.PropertyImpl createPropertyImpl()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.createPropertyImpl.

Annotations
@Override
getContentTypeback to summary
public RuntimeNonElement getContentType()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.getContentType.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo.getContentType, org.glassfish.jaxb.core.v2.model.core.ElementInfo.getContentType.

Doc from org.glassfish.jaxb.core.v2.model.core.ElementInfo.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.

Annotations
@Override
getPropertyback to summary
public RuntimeElementPropertyInfo getProperty()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.getProperty.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo.getProperty, org.glassfish.jaxb.core.v2.model.core.ElementInfo.getProperty.

Doc from org.glassfish.jaxb.core.v2.model.core.ElementInfo.getProperty.

Gets the object that represents the value property.

Annotations
@Override
getScopeback to summary
public RuntimeClassInfo getScope()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.getScope.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo.getScope, org.glassfish.jaxb.core.v2.model.core.Element.getScope.

Doc from org.glassfish.jaxb.core.v2.model.core.Element.getScope.

If non-null, this element is only active inside the given scope.

Annotations
@Override
getTypeback to summary
public Class<? extends JAXBElement<T>> getType()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.getType.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo.getType, org.glassfish.jaxb.core.v2.model.core.ElementInfo.getType, org.glassfish.jaxb.core.v2.model.core.TypeInfo.getType.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementInfo.getType.

Returns the custom JAXBElement class tailored this element.

Annotations
@Override
@SuppressWarnings:unchecked
org.glassfish.jaxb.runtime.v2.model.impl back to summary

pack-priv Class RuntimeElementInfoImpl.RuntimePropertyImpl

extends ElementInfoImpl<Type, Class<T>, Field, Method>.PropertyImpl
implements RuntimeElementPropertyInfo, RuntimeTypeRef
Class Inheritance
All Implemented Interfaces
org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeTypeRef, org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeNonElementRef, org.glassfish.jaxb.core.v2.model.core.NonElementRef, org.glassfish.jaxb.core.v2.model.core.TypeRef, org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementPropertyInfo, org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo, org.glassfish.jaxb.core.v2.model.core.PropertyInfo, org.glassfish.jaxb.core.v2.model.annotation.AnnotationSource, org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public boolean
elementOnlyContent()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.elementOnlyContent.

Returns true if this property has an element-only content.

public Accessor<BeanT, ValueT>
public Type
public Type
public RuntimePropertyInfo
public RuntimeNonElement
public <V> Transducer<V>
getTransducer()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeNonElementRef.getTransducer.

If the XML representation of the referenced Java type is just a text, return a transducer that converts between the bean and XML.

public List<? extends RuntimeTypeRef>
public List<? extends RuntimeNonElement>
Inherited from org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.PropertyImpl:
displayNamegetAdaptergetDefaultValuegetExpectedMimeTypegetNamegetSchemaTypegetTagNamegetXmlNamehasAnnotationidinlineBinaryDataisCollectionisCollectionNillableisCollectionRequiredisNillableisRequiredisValueListkindparentreadAnnotation

Constructor Detail

RuntimePropertyImplback to summary
pack-priv RuntimePropertyImpl()

Method Detail

elementOnlyContentback to summary
public boolean elementOnlyContent()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.elementOnlyContent.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.elementOnlyContent.

Returns true if this property has an element-only content. False otherwise.

Annotations
@Override
getAccessorback to summary
public Accessor<BeanT, ValueT> getAccessor()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getAccessor.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getAccessor.

Gets the Accessor for this property.

Even for a multi-value property, this method returns an accessor to that property. IOW, the accessor works against the raw type.

This methods returns unoptimized accessor (because optimization accessors are often combined into bigger pieces, and optimization generally works better if you can look at a bigger piece, as opposed to individually optimize a smaller components)

Annotations
@Override
@SuppressWarnings:unchecked
getIndividualTypeback to summary
public Type getIndividualType()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getIndividualType.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getIndividualType.

Gets the type of the individual item. The individual type is the signature of the property used to store individual values. For a non-collection field, this is the same as getRawType(). For acollection property, this is the type used to store individual value. So if getRawType() is Collection<Integer>, this method will return Integer.

Annotations
@Override
getRawTypeback to summary
public Type getRawType()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getRawType.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimePropertyInfo.getRawType.

Gets the "raw" type of the field. The raw type is the actual signature of the property. For example, if the field is the primitive int, this will be the primitive int. If the field is Object, this will be Object. If the property is the collection and typed as Collection<Integer>, this method returns Collection<Integer>.

Annotations
@Override
getSourceback to summary
public RuntimePropertyInfo getSource()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.PropertyImpl.getSource.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeTypeRef.getSource, org.glassfish.jaxb.core.v2.model.core.NonElementRef.getSource.

Doc from org.glassfish.jaxb.core.v2.model.core.NonElementRef.getSource.

Gets the property which is the source of this reference.

Annotations
@Override
getTargetback to summary
public RuntimeNonElement getTarget()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.PropertyImpl.getTarget.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeTypeRef.getTarget, org.glassfish.jaxb.core.v2.model.core.NonElementRef.getTarget.

Doc from org.glassfish.jaxb.core.v2.model.core.NonElementRef.getTarget.

Target of the reference.

Annotations
@Override
getTransducerback to summary
public <V> Transducer<V> getTransducer()

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeNonElementRef.getTransducer.

Doc from org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeNonElementRef.getTransducer.

If the XML representation of the referenced Java type is just a text, return a transducer that converts between the bean and XML.

Annotations
@Override
getTypesback to summary
public List<? extends RuntimeTypeRef> getTypes()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.PropertyImpl.getTypes.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementPropertyInfo.getTypes, org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo.getTypes.

Doc from org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo.getTypes.

Returns the information about the types allowed in this property.

In a simple case like the following, an element property only has one TypeRef that points to String and tag name "foo".

@XmlElement
String abc;

However, in a general case an element property can be heterogeneous, meaning you can put different types in it, each with a different tag name (and a few other settings.)


// list can contain String or Integer.
@XmlElements({
  @XmlElement(name="a",type=String.class),
  @XmlElement(name="b",type=Integer.class),
})
List<Object> abc;

In this case this method returns a list of two TypeRefs.

Annotations
@Override
refback to summary
public List<? extends RuntimeNonElement> ref()

Overrides org.glassfish.jaxb.runtime.v2.model.impl.ElementInfoImpl.PropertyImpl.ref.

Implements org.glassfish.jaxb.runtime.v2.model.runtime.RuntimeElementPropertyInfo.ref, org.glassfish.jaxb.core.v2.model.core.PropertyInfo.ref.

Doc from org.glassfish.jaxb.core.v2.model.core.PropertyInfo.ref.

List of TypeInfos that this property references. This allows the caller to traverse the reference graph without getting into the details of each different property type.

Annotations
@Override
@SuppressWarnings:unchecked