Interface RuntimeElementPropertyInfo
- All Superinterfaces:
AnnotationSource,ElementPropertyInfo<Type,,Class> PropertyInfo<Type,,Class> RuntimePropertyInfo
public interface RuntimeElementPropertyInfo
extends ElementPropertyInfo<Type,Class>, RuntimePropertyInfo
- Author:
- Kohsuke Kawaguchi
-
Method Summary
Modifier and TypeMethodDescriptionList<? extends RuntimeTypeRef>getTypes()Returns the information about the types allowed in this property.Collection<? extends RuntimeTypeInfo>ref()List ofTypeInfos that this property references.Methods inherited from interface com.sun.xml.bind.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotationMethods inherited from interface com.sun.xml.bind.v2.model.core.ElementPropertyInfo
getAdapter, getXmlName, isCollectionNillable, isCollectionRequired, isRequired, isValueListMethods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, kind, parentMethods inherited from interface com.sun.xml.bind.v2.model.runtime.RuntimePropertyInfo
elementOnlyContent, getAccessor, getIndividualType, getRawType
-
Method Details
-
ref
Collection<? extends RuntimeTypeInfo> ref()List ofTypeInfos 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:
refin interfacePropertyInfo<Type,Class> - Specified by:
refin interfaceRuntimePropertyInfo- Returns:
- non-null read-only collection.
-
getTypes
List<? extends RuntimeTypeRef> getTypes()Description copied from interface:ElementPropertyInfoReturns the information about the types allowed in this property.In a simple case like the following, an element property only has one
TypeRefthat points toStringand 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.- Specified by:
getTypesin interfaceElementPropertyInfo<Type,Class> - Returns:
- Always non-null. Contains at least one entry.
If
ElementPropertyInfo.isValueList()==true, there's always exactly one type.
-