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

All Superinterfaces:
AnnotationSource, PropertyInfo<java.lang.reflect.Type,java.lang.Class>, ReferencePropertyInfo<java.lang.reflect.Type,java.lang.Class>, RuntimePropertyInfo

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


Method Summary
 java.util.Set<? extends RuntimeElement> getElements()
          Returns the information about the possible elements in this property.
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.ReferencePropertyInfo
getAdapter, getDOMHandler, getWildcard, getXmlName, isCollectionNillable, isCollectionRequired, isMixed, isRequired, ref
 
Methods inherited from interface com.sun.xml.bind.v2.model.runtime.RuntimePropertyInfo
elementOnlyContent, getAccessor, getIndividualType, getRawType, ref
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, kind, parent
 
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotation
 

Method Detail

getElements

java.util.Set<? extends RuntimeElement> getElements()
Description copied from interface: ReferencePropertyInfo
Returns the information about the possible elements in this property.

As of 2004/08/17, the spec only allows you to use different element names when a property is a collection, but I think there's really no reason to limit it there --- if the user wants to use a different tag name for different objects, I don't see why this can be limited to collections.

So this is a generalization of the spec. We always allow a property to have multiple types and use different tag names for it, depending on the actual type.

In most of the cases, this collection only contains 1 item. So the runtime system is encouraged to provide a faster code-path that is optimized toward such cases.

Specified by:
getElements in interface ReferencePropertyInfo<java.lang.reflect.Type,java.lang.Class>
Returns:
Always non-null. Contains at least one entry.