public interface ElementPropertyInfo<T,C> extends PropertyInfo<T,C>
Modifier and Type | Method and Description |
---|---|
Adapter<T,C> |
getAdapter() |
List<? extends TypeRef<T,C>> |
getTypes()
Returns the information about the types allowed in this property.
|
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 |
isRequired()
Returns true if this element is mandatory.
|
boolean |
isValueList()
Returns true if this property is a collection but its XML
representation is a list of values, not repeated elements.
|
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, kind, parent, ref
hasAnnotation, readAnnotation
List<? extends TypeRef<T,C>> getTypes()
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 TypeRef
s.
isValueList()
==true, there's always exactly one type.QName getXmlName()
PropertyInfo.isCollection()
==false or
if isValueList()
==true.
Otherwise,
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)boolean isCollectionRequired()
getXmlName()
==null.boolean isCollectionNillable()
This method is only used when this property is a collection.
boolean isValueList()
If PropertyInfo.isCollection()
==false, this property is always false.
When this flag is true, getTypes().size()==1
always holds.
boolean isRequired()
Adapter<T,C> getAdapter()
getAdapter
in interface PropertyInfo<T,C>
Copyright © 2021 JBoss by Red Hat. All rights reserved.