com.sun.xml.bind.v2.model.runtime
Interface RuntimePropertyInfo

All Superinterfaces:
AnnotationSource, PropertyInfo<java.lang.reflect.Type,java.lang.Class>
All Known Subinterfaces:
RuntimeAttributePropertyInfo, RuntimeElementPropertyInfo, RuntimeMapPropertyInfo, RuntimeReferencePropertyInfo, RuntimeValuePropertyInfo

public interface RuntimePropertyInfo
extends PropertyInfo<java.lang.reflect.Type,java.lang.Class>

PropertyInfo that exposes more information.


Method Summary
 boolean elementOnlyContent()
          Returns true if this property has an element-only content.
 Accessor getAccessor()
          Gets the Accessor for this property.
 java.lang.reflect.Type getIndividualType()
          Gets the type of the individual item.
 java.lang.reflect.Type getRawType()
          Gets the "raw" type of the field.
 java.util.Collection<? extends RuntimeTypeInfo> ref()
          List of TypeInfos that this property references.
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getAdapter, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, kind, parent
 
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotation
 

Method Detail

ref

java.util.Collection<? extends RuntimeTypeInfo> 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.

Specified by:
ref in interface PropertyInfo<java.lang.reflect.Type,java.lang.Class>
Returns:
non-null read-only collection.

getAccessor

Accessor 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)

Returns:
never null.
See Also:
Accessor#optimize()

elementOnlyContent

boolean elementOnlyContent()
Returns true if this property has an element-only content. False otherwise.


getRawType

java.lang.reflect.Type 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>.

Returns:
always non-null.

getIndividualType

java.lang.reflect.Type 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.

Returns:
always non-null.