Package com.sun.xml.bind.v2.model.core
Interface ReferencePropertyInfo<T,C>
-
- All Superinterfaces:
AnnotationSource
,PropertyInfo<T,C>
- All Known Subinterfaces:
RuntimeReferencePropertyInfo
- All Known Implementing Classes:
CReferencePropertyInfo
public interface ReferencePropertyInfo<T,C> extends PropertyInfo<T,C>
PropertyInfo
that holds references to otherElement
s.- Author:
- Kohsuke Kawaguchi
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Adapter<T,C>
getAdapter()
C
getDOMHandler()
If this property supports the wildcard, returns its DOM handler.java.util.Set<? extends Element<T,C>>
getElements()
Returns the information about the possible elements in this property.WildcardMode
getWildcard()
If this property supports the wildcard, returns its mode.javax.xml.namespace.QName
getXmlName()
Gets the wrapper element name.boolean
isCollectionNillable()
Returns true if this property is nillable (meaning the absence of the value is treated as nil='true')boolean
isCollectionRequired()
Checks if the wrapper element is required.boolean
isMixed()
Returns true if this property can holdString
s to represent mixed content model.boolean
isRequired()
Returns true if this element is mandatory.java.util.Collection<? extends TypeInfo<T,C>>
ref()
List ofTypeInfo
s that this property references.-
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotation
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, kind, parent
-
-
-
-
Method Detail
-
getElements
java.util.Set<? extends Element<T,C>> getElements()
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.
- Returns:
- Always non-null. Contains at least one entry.
-
ref
java.util.Collection<? extends TypeInfo<T,C>> ref()
List ofTypeInfo
s that this property references. This allows the caller to traverse the reference graph without getting into the details of each different property type.. If thisReferencePropertyInfo
has a wildcard in it, then the returned list will containWildcardTypeInfo
.- Specified by:
ref
in interfacePropertyInfo<T,C>
- Returns:
- non-null read-only collection.
-
getXmlName
javax.xml.namespace.QName getXmlName()
Gets the wrapper element name.- Returns:
- must be null if not collection. If the property is a collection, this can be null (in which case there'll be no wrapper), or it can be non-null (in which case there'll be a wrapper)
-
isCollectionNillable
boolean isCollectionNillable()
Returns true if this property is nillable (meaning the absence of the value is treated as nil='true')This method is only used when this property is a collection.
-
isCollectionRequired
boolean isCollectionRequired()
Checks if the wrapper element is required.- Returns:
- Always false if
getXmlName()
==null.
-
isMixed
boolean isMixed()
Returns true if this property can holdString
s to represent mixed content model.
-
getWildcard
WildcardMode getWildcard()
If this property supports the wildcard, returns its mode.- Returns:
- null if the wildcard is not allowed on this element.
-
getDOMHandler
C getDOMHandler()
If this property supports the wildcard, returns its DOM handler.- Returns:
- null if the wildcard is not allowed on this element.
-
isRequired
boolean isRequired()
Returns true if this element is mandatory.
-
getAdapter
Adapter<T,C> getAdapter()
- Specified by:
getAdapter
in interfacePropertyInfo<T,C>
- Returns:
- null if the property is not adapted.
-
-