com.sun.tools.xjc.model
Class CReferencePropertyInfo

java.lang.Object
  extended by com.sun.tools.xjc.model.CPropertyInfo
      extended by com.sun.tools.xjc.model.CReferencePropertyInfo
All Implemented Interfaces:
CCustomizable, AnnotationSource, PropertyInfo<NType,NClass>, ReferencePropertyInfo<NType,NClass>

public final class CReferencePropertyInfo
extends CPropertyInfo
implements ReferencePropertyInfo<NType,NClass>

ReferencePropertyInfo for the compiler.

Author:
Kohsuke Kawaguchi

Field Summary
 
Fields inherited from class com.sun.tools.xjc.model.CPropertyInfo
baseType, defaultValue, inlineBinaryData, javadoc, locator, realization
 
Constructor Summary
CReferencePropertyInfo(String name, boolean collection, boolean required, boolean isMixed, XSComponent source, CCustomizations customizations, Locator locator, boolean dummy, boolean content, boolean isMixedExtended)
           
 
Method Summary
<V> V
accept(CPropertyVisitor<V> visitor)
           
 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()
           
 Set<CElement> getElements()
           
 MimeType getExpectedMimeType()
           
 QName getSchemaType()
           
 WildcardMode getWildcard()
           
 QName getXmlName()
          Deprecated. 
 ID id()
          A reference property can never be ID/IDREF because they always point to other element classes.
 boolean isCollectionNillable()
           
 boolean isCollectionRequired()
           
 boolean isContent()
           
 boolean isDummy()
           
 boolean isMixed()
           
 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()
           
 boolean isUnboxable()
          Reference properties refer to elements, and none of the Java primitive type maps to an element.
 PropertyKind kind()
           
 Set<? extends CTypeInfo> ref()
           
 void setWildcard(WildcardMode mode)
           
 
Methods inherited from class com.sun.tools.xjc.model.CPropertyInfo
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.PropertyInfo
displayName, getName, inlineBinaryData, isCollection, parent
 
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.AnnotationSource
hasAnnotation, readAnnotation
 

Constructor Detail

CReferencePropertyInfo

public CReferencePropertyInfo(String name,
                              boolean collection,
                              boolean required,
                              boolean isMixed,
                              XSComponent source,
                              CCustomizations customizations,
                              Locator locator,
                              boolean dummy,
                              boolean content,
                              boolean isMixedExtended)
Method Detail

ref

public Set<? extends CTypeInfo> ref()
Specified by:
ref in interface PropertyInfo<NType,NClass>
Specified by:
ref in interface ReferencePropertyInfo<NType,NClass>
Specified by:
ref in class CPropertyInfo

getElements

public Set<CElement> getElements()
Specified by:
getElements in interface ReferencePropertyInfo<NType,NClass>

isMixed

public boolean isMixed()
Specified by:
isMixed in interface ReferencePropertyInfo<NType,NClass>

isDummy

public boolean isDummy()

isContent

public boolean isContent()

isMixedExtendedCust

public boolean isMixedExtendedCust()

getXmlName

@Deprecated
public QName getXmlName()
Deprecated. 

We'll never use a wrapper element in XJC. Always return null.

Specified by:
getXmlName in interface ReferencePropertyInfo<NType,NClass>

isUnboxable

public boolean isUnboxable()
Reference properties refer to elements, and none of the Java primitive type maps to an element. Thus a reference property is always unboxable.

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

getAdapter

public CAdapter getAdapter()
Specified by:
getAdapter in interface PropertyInfo<NType,NClass>
Specified by:
getAdapter in interface ReferencePropertyInfo<NType,NClass>
Specified by:
getAdapter in class CPropertyInfo

kind

public final PropertyKind kind()
Specified by:
kind in interface PropertyInfo<NType,NClass>

id

public ID id()
A reference property can never be ID/IDREF because they always point to other element classes.

Specified by:
id in interface PropertyInfo<NType,NClass>

getWildcard

public WildcardMode getWildcard()
Specified by:
getWildcard in interface ReferencePropertyInfo<NType,NClass>

setWildcard

public void setWildcard(WildcardMode mode)

getDOMHandler

public NClass getDOMHandler()
Specified by:
getDOMHandler in interface ReferencePropertyInfo<NType,NClass>

getExpectedMimeType

public MimeType getExpectedMimeType()
Specified by:
getExpectedMimeType in interface PropertyInfo<NType,NClass>

isCollectionNillable

public boolean isCollectionNillable()
Specified by:
isCollectionNillable in interface ReferencePropertyInfo<NType,NClass>

isCollectionRequired

public boolean isCollectionRequired()
Specified by:
isCollectionRequired in interface ReferencePropertyInfo<NType,NClass>

getSchemaType

public QName getSchemaType()
Specified by:
getSchemaType in interface PropertyInfo<NType,NClass>

isRequired

public boolean isRequired()
Specified by:
isRequired in interface ReferencePropertyInfo<NType,NClass>

collectElementNames

public QName collectElementNames(Map<QName,CPropertyInfo> table)
Description copied from class: CPropertyInfo
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.

Overrides:
collectElementNames in class CPropertyInfo
Returns:
null if no conflict was found. Otherwise return the QName that has the collision.


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.