public final class CReferencePropertyInfo extends CPropertyInfo implements ReferencePropertyInfo<NType,NClass>
ReferencePropertyInfo for the compiler.baseType, defaultValue, inlineBinaryData, javadoc, locator, realization| Constructor and Description |
|---|
CReferencePropertyInfo(String name,
boolean collection,
boolean required,
boolean isMixed,
com.sun.xml.xsom.XSComponent source,
CCustomizations customizations,
Locator locator,
boolean dummy,
boolean content,
boolean isMixedExtended) |
| Modifier and Type | Method and Description |
|---|---|
<V> V |
accept(CPropertyVisitor<V> visitor) |
<R,P> R |
accept(CPropertyVisitor2<R,P> visitor,
P p) |
QName |
collectElementNames(Map<QName,CPropertyInfo> table)
Puts the element names that this property possesses to the map,
so that we can find two properties that own the same element name,
which is an error.
|
CAdapter |
getAdapter() |
NClass |
getDOMHandler()
If this property supports the wildcard, returns its DOM handler.
|
Set<CElement> |
getElements()
Returns the information about the possible elements in this property.
|
MimeType |
getExpectedMimeType()
Expected MIME type, if any.
|
QName |
getSchemaType()
The effective value of
XmlSchemaType annotation, if any. |
WildcardMode |
getWildcard()
If this property supports the wildcard, returns its mode.
|
QName |
getXmlName()
Deprecated.
|
ID |
id()
A reference property can never be ID/IDREF because they always point to
other element classes.
|
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 |
isContent() |
boolean |
isDummy() |
boolean |
isMixed()
Returns true if this property can hold
Strings to represent
mixed content model. |
boolean |
isMixedExtendedCust() |
boolean |
isOptionalPrimitive()
Returns true if this property needs to represent null
just for the purpose of representing an absence of the property.
|
boolean |
isRequired()
Returns true if this element is mandatory.
|
boolean |
isUnboxable()
Reference properties refer to elements, and none of the Java primitive type
maps to an element.
|
PropertyKind |
kind()
Gets the kind of this property.
|
Set<? extends CTypeInfo> |
ref()
List of
TypeInfos that this property references. |
void |
setWildcard(WildcardMode mode) |
displayName, getCustomizations, getLocator, getName, getName, getSchemaComponent, hasAnnotation, inlineBinaryData, isCollection, needsExplicitTypeName, parent, readAnnotation, setNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdisplayName, getName, inlineBinaryData, isCollection, parenthasAnnotation, readAnnotationpublic CReferencePropertyInfo(String name, boolean collection, boolean required, boolean isMixed, com.sun.xml.xsom.XSComponent source, CCustomizations customizations, Locator locator, boolean dummy, boolean content, boolean isMixedExtended)
public Set<? extends CTypeInfo> ref()
PropertyInfoTypeInfos that this property references.
This allows the caller to traverse the reference graph without
getting into the details of each different property type.ref in interface PropertyInfo<NType,NClass>ref in interface ReferencePropertyInfo<NType,NClass>ref in class CPropertyInfopublic Set<CElement> getElements()
ReferencePropertyInfoAs 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.
getElements in interface ReferencePropertyInfo<NType,NClass>public boolean isMixed()
ReferencePropertyInfoStrings to represent
mixed content model.isMixed in interface ReferencePropertyInfo<NType,NClass>public boolean isDummy()
public boolean isContent()
public boolean isMixedExtendedCust()
@Deprecated public QName getXmlName()
getXmlName in interface ReferencePropertyInfo<NType,NClass>public boolean isUnboxable()
isUnboxable in class CPropertyInfopublic boolean isOptionalPrimitive()
CPropertyInfoisOptionalPrimitive in class CPropertyInfopublic <V> V accept(CPropertyVisitor<V> visitor)
accept in class CPropertyInfopublic <R,P> R accept(CPropertyVisitor2<R,P> visitor, P p)
accept in class CPropertyInfopublic CAdapter getAdapter()
getAdapter in interface PropertyInfo<NType,NClass>getAdapter in interface ReferencePropertyInfo<NType,NClass>getAdapter in class CPropertyInfopublic final PropertyKind kind()
PropertyInfokind in interface PropertyInfo<NType,NClass>public ID id()
public WildcardMode getWildcard()
ReferencePropertyInfogetWildcard in interface ReferencePropertyInfo<NType,NClass>public void setWildcard(WildcardMode mode)
public NClass getDOMHandler()
ReferencePropertyInfogetDOMHandler in interface ReferencePropertyInfo<NType,NClass>public MimeType getExpectedMimeType()
PropertyInfogetExpectedMimeType in interface PropertyInfo<NType,NClass>public boolean isCollectionNillable()
ReferencePropertyInfoThis method is only used when this property is a collection.
isCollectionNillable in interface ReferencePropertyInfo<NType,NClass>public boolean isCollectionRequired()
ReferencePropertyInfoisCollectionRequired in interface ReferencePropertyInfo<NType,NClass>ReferencePropertyInfo.getXmlName()==null.public QName getSchemaType()
PropertyInfoXmlSchemaType annotation, if any.
If the property doesn't have XmlSchemaType annotation,
this method returns null.
Since a type name is a property of a Java type, not a Java property,
A schema type name of a Java type should be primarily obtained
by using NonElement.getTypeName(). This method is to correctly
implement the ugly semantics of XmlSchemaType (namely
when this returns non-null, it overrides the type names of all types
that are in this property.)
getSchemaType in interface PropertyInfo<NType,NClass>public boolean isRequired()
ReferencePropertyInfoisRequired in interface ReferencePropertyInfo<NType,NClass>public QName collectElementNames(Map<QName,CPropertyInfo> table)
CPropertyInfocollectElementNames in class CPropertyInfoCopyright © 2017 JBoss by Red Hat. All rights reserved.