com.sun.tools.xjc.model
Class CAttributePropertyInfo

java.lang.Object
  extended by com.sun.tools.xjc.model.CPropertyInfo
      extended by 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.


Field Summary
protected  TypeUse type
           
 
Fields inherited from class com.sun.tools.xjc.model.CPropertyInfo
baseType, defaultValue, inlineBinaryData, javadoc, locator, realization
 
Constructor Summary
CAttributePropertyInfo(java.lang.String name, com.sun.xml.xsom.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
<V> V
accept(CPropertyVisitor<V> visitor)
           
 CAdapter getAdapter()
           
 javax.activation.MimeType getExpectedMimeType()
          Expected MIME type, if any.
 javax.xml.namespace.QName getSchemaType()
          The effective value of XmlSchemaType 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 proeprty.
 java.util.List<? extends CTypeInfo> ref()
          List of TypeInfos 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.core.AttributePropertyInfo
getAdapter, getTarget
 
Methods inherited from interface com.sun.xml.bind.v2.model.core.PropertyInfo
displayName, getExpectedMimeType, getName, getSchemaType, id, inlineBinaryData, isCollection, parent, ref
 
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.NonElementRef
getSource
 

Field Detail

type

protected final TypeUse type
Constructor Detail

CAttributePropertyInfo

public CAttributePropertyInfo(java.lang.String name,
                              com.sun.xml.xsom.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 interface AttributePropertyInfo<NType,NClass>

getXmlName

public javax.xml.namespace.QName getXmlName()
Description copied from interface: AttributePropertyInfo
Gets the attribute name.

Specified by:
getXmlName in interface AttributePropertyInfo<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 class CPropertyInfo

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 class CPropertyInfo

accept

public <V> V accept(CPropertyVisitor<V> visitor)
Specified by:
accept in class CPropertyInfo

kind

public final PropertyKind kind()
Description copied from interface: PropertyInfo
Gets the kind of this proeprty.

Specified by:
kind in interface PropertyInfo<NType,NClass>
Returns:
always non-null.

getSchemaType

public javax.xml.namespace.QName getSchemaType()
Description copied from interface: PropertyInfo
The effective value of XmlSchemaType 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.)


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 of TypeInfos 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 interface PropertyInfo<NType,NClass>
Specified by:
ref in class CPropertyInfo
Returns:
non-null read-only collection.

getTarget

public final CNonElement getTarget()

getAdapter

public final CAdapter getAdapter()
Specified by:
getAdapter in interface PropertyInfo<NType,NClass>
Specified by:
getAdapter in class CPropertyInfo
Returns:
null if the property is not adapted.

getSource

public final com.sun.tools.xjc.model.CSingleTypePropertyInfo getSource()