Package com.sun.tools.xjc.model
Class CAttributePropertyInfo
- java.lang.Object
-
- com.sun.tools.xjc.model.CPropertyInfo
-
- com.sun.tools.xjc.model.CAttributePropertyInfo
-
- All Implemented Interfaces:
CCustomizable
,AnnotationSource
,AttributePropertyInfo<NType,NClass>
,NonElementRef<NType,NClass>
,PropertyInfo<NType,NClass>
public final class CAttributePropertyInfo extends CPropertyInfo implements AttributePropertyInfo<NType,NClass>
AttributePropertyInfo
for the compiler.- Author:
- Kohsuke Kawaguchi
-
-
Field Summary
Fields Modifier and Type Field Description protected TypeUse
type
-
Fields inherited from class com.sun.tools.xjc.model.CPropertyInfo
baseType, defaultValue, inlineBinaryData, javadoc, locator, realization
-
-
Constructor Summary
Constructors Constructor Description CAttributePropertyInfo(java.lang.String name, XSComponent source, CCustomizations customizations, org.xml.sax.Locator locator, javax.xml.namespace.QName attName, TypeUse type, javax.xml.namespace.QName typeName, boolean required)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <V> V
accept(CPropertyVisitor<V> visitor)
<R,P>
Raccept(CPropertyVisitor2<R,P> visitor, P p)
CAdapter
getAdapter()
javax.activation.MimeType
getExpectedMimeType()
Expected MIME type, if any.javax.xml.namespace.QName
getSchemaType()
The effective value ofXmlSchemaType
annotation, if any.com.sun.tools.xjc.model.CSingleTypePropertyInfo
getSource()
CNonElement
getTarget()
javax.xml.namespace.QName
getXmlName()
Gets the attribute name.ID
id()
Returns the IDness of the value of this element.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 attribute is mandatory.boolean
isUnboxable()
An optional attribute can never be unboxable, for we need null to represent the absence.PropertyKind
kind()
Gets the kind of this property.java.util.List<? extends CTypeInfo>
ref()
List ofTypeInfo
s that this property references.-
Methods inherited from class com.sun.tools.xjc.model.CPropertyInfo
collectElementNames, displayName, getCustomizations, getLocator, getName, getName, getSchemaComponent, hasAnnotation, inlineBinaryData, isCollection, needsExplicitTypeName, parent, readAnnotation, setName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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.AttributePropertyInfo
getAdapter, getTarget
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.NonElementRef
getSource
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, parent, ref
-
-
-
-
Field Detail
-
type
protected final TypeUse type
-
-
Constructor Detail
-
CAttributePropertyInfo
public CAttributePropertyInfo(java.lang.String name, XSComponent source, CCustomizations customizations, org.xml.sax.Locator locator, javax.xml.namespace.QName attName, TypeUse type, @Nullable javax.xml.namespace.QName typeName, boolean required)
- Parameters:
type
- Represents the bound type of this attribute.typeName
- XML Schema type name of this attribute. Optional for other schema languages.
-
-
Method Detail
-
isRequired
public boolean isRequired()
Description copied from interface:AttributePropertyInfo
Returns true if this attribute is mandatory.- Specified by:
isRequired
in interfaceAttributePropertyInfo<NType,NClass>
-
getXmlName
public javax.xml.namespace.QName getXmlName()
Description copied from interface:AttributePropertyInfo
Gets the attribute name.- Specified by:
getXmlName
in interfaceAttributePropertyInfo<NType,NClass>
- Returns:
- must be non-null.
-
isUnboxable
public boolean isUnboxable()
An optional attribute can never be unboxable, for we need null to represent the absence.- Overrides:
isUnboxable
in classCPropertyInfo
-
isOptionalPrimitive
public boolean isOptionalPrimitive()
Description copied from class:CPropertyInfo
Returns true if this property needs to represent null just for the purpose of representing an absence of the property.- Overrides:
isOptionalPrimitive
in classCPropertyInfo
-
accept
public <V> V accept(CPropertyVisitor<V> visitor)
- Specified by:
accept
in classCPropertyInfo
-
accept
public <R,P> R accept(CPropertyVisitor2<R,P> visitor, P p)
- Specified by:
accept
in classCPropertyInfo
-
kind
public final PropertyKind kind()
Description copied from interface:PropertyInfo
Gets the kind of this property.- Specified by:
kind
in interfacePropertyInfo<NType,NClass>
- Returns:
- always non-null.
-
getSchemaType
public javax.xml.namespace.QName getSchemaType()
Description copied from interface:PropertyInfo
The effective value ofXmlSchemaType
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 ofXmlSchemaType
(namely when this returns non-null, it overrides the type names of all types that are in this property.)
-
id
public final ID id()
Description copied from interface:PropertyInfo
Returns the IDness of the value of this element.- Returns:
- always non-null
- See Also:
XmlID
,XmlIDREF
-
getExpectedMimeType
public final javax.activation.MimeType getExpectedMimeType()
Description copied from interface:PropertyInfo
Expected MIME type, if any.
-
ref
public final java.util.List<? extends CTypeInfo> ref()
Description copied from interface:PropertyInfo
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.- Specified by:
ref
in interfacePropertyInfo<NType,NClass>
- Specified by:
ref
in classCPropertyInfo
- Returns:
- non-null read-only collection.
-
getTarget
public final CNonElement getTarget()
-
getAdapter
public final CAdapter getAdapter()
- Specified by:
getAdapter
in interfacePropertyInfo<NType,NClass>
- Specified by:
getAdapter
in classCPropertyInfo
- Returns:
- null if the property is not adapted.
-
getSource
public final com.sun.tools.xjc.model.CSingleTypePropertyInfo getSource()
-
-