Package com.sun.tools.xjc.model
Class CClassRef
- java.lang.Object
-
- com.sun.tools.xjc.model.CClassRef
-
- All Implemented Interfaces:
CClass
,CCustomizable
,CElement
,CNonElement
,CTypeInfo
,NClass
,NType
,TypeUse
,Locatable
,Element<NType,NClass>
,NonElement<NType,NClass>
,TypeInfo<NType,NClass>
public final class CClassRef extends java.lang.Object implements NClass, CClass
Reference to an existing class.- Author:
- Kohsuke Kawaguchi
-
-
Field Summary
-
Fields inherited from interface com.sun.xml.bind.v2.model.core.NonElement
ANYTYPE_NAME
-
-
Constructor Summary
Constructors Constructor Description CClassRef(Model model, XSComponent source, BIClass decl, CCustomizations customizations)
CClassRef(Model model, XSComponent source, BIEnum decl, CCustomizations customizations)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
canBeReferencedByIDREF()
Deprecated.why are you calling an unimplemented method?JExpression
createConstant(Outline outline, XmlString lexical)
java.lang.String
fullName()
Human readable name of this type.CAdapter
getAdapterUse()
CCustomizations
getCustomizations()
Gets the list of customizations attached to this model component.javax.xml.namespace.QName
getElementName()
Gets the element name of the class.javax.activation.MimeType
getExpectedMimeType()
No defaultMimeType
.CNonElement
getInfo()
Deprecated.Location
getLocation()
Gets the location object that this object points to.org.xml.sax.Locator
getLocator()
Gets the source location in the schema from which this model component is created.XSComponent
getSchemaComponent()
If this model object is built from XML Schema, this property returns a schema component from which the model is built.CClassInfo
getScope()
If non-null, this element is only active inside the given scope.CElement
getSubstitutionHead()
If this element can substitute another element, return that element.NType
getType()
Gets the underlying Java type that object represents.javax.xml.namespace.QName
getTypeName()
Gets the primary XML type ANYTYPE_NAME of the class.Locatable
getUpstream()
Gets the upstreamLocation
information.ID
idUse()
boolean
isAbstract()
Returns true iff this element is an abstract element.boolean
isBoxedType()
Returns true iff this type represents a class that has a unboxed form.boolean
isCollection()
boolean
isSimpleType()
Returns true if thisNonElement
maps to text in XML, without any attribute nor child elements.void
setAbstract()
Marks this element as an abstract element.JClass
toType(Outline o, Aspect aspect)
Returns the representation of this type in code model.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.sun.tools.xjc.model.CCustomizable
getCustomizations, getLocator, getSchemaComponent
-
Methods inherited from interface com.sun.tools.xjc.model.CNonElement
getAdapterUse, isCollection
-
Methods inherited from interface com.sun.xml.bind.v2.model.annotation.Locatable
getLocation, getUpstream
-
Methods inherited from interface com.sun.xml.bind.v2.model.core.TypeInfo
canBeReferencedByIDREF
-
Methods inherited from interface com.sun.tools.xjc.model.TypeUse
createConstant, getExpectedMimeType, idUse
-
-
-
-
Constructor Detail
-
CClassRef
public CClassRef(Model model, XSComponent source, BIClass decl, CCustomizations customizations)
- Parameters:
decl
- TheBIClass
declaration that hasBIClass.getExistingClassRef()
-
CClassRef
public CClassRef(Model model, XSComponent source, BIEnum decl, CCustomizations customizations)
- Parameters:
decl
- TheBIClass
declaration that hasBIEnum.ref
-
-
Method Detail
-
setAbstract
public void setAbstract()
Description copied from interface:CElement
Marks this element as an abstract element.- Specified by:
setAbstract
in interfaceCElement
-
isAbstract
public boolean isAbstract()
Description copied from interface:CElement
Returns true iff this element is an abstract element.- Specified by:
isAbstract
in interfaceCElement
- Specified by:
isAbstract
in interfaceNClass
-
getType
public NType getType()
Description copied from interface:TypeInfo
Gets the underlying Java type that object represents.
-
toType
public JClass toType(Outline o, Aspect aspect)
Description copied from interface:NType
Returns the representation of this type in code model.This operation requires the whole model to be built, and hence it takes
Outline
.Under some code generation strategy, some bean classes are considered implementation specific (such as impl.FooImpl class) These classes always have accompanying "exposed" type (such as the Foo interface).
For such Jekyll and Hyde type, the aspect parameter determines which personality is returned.
- Specified by:
toType
in interfaceCTypeInfo
- Specified by:
toType
in interfaceNClass
- Specified by:
toType
in interfaceNType
aspect
- IfAspect.IMPLEMENTATION
, this method returns the implementation specific class that this type represents. IfAspect.EXPOSED
, this method returns the publicly exposed type that this type represents. For ordinary classes, the aspect parameter is meaningless.- See Also:
NType.toType(Outline, com.sun.tools.xjc.outline.Aspect)
-
fullName
public java.lang.String fullName()
Description copied from interface:NType
Human readable name of this type.
-
getTypeName
public javax.xml.namespace.QName getTypeName()
Description copied from interface:NonElement
Gets the primary XML type ANYTYPE_NAME of the class.A Java type can be mapped to multiple XML types, but one of them is considered "primary" and used when we generate a schema.
- Specified by:
getTypeName
in interfaceNonElement<NType,NClass>
- Returns:
- null if the object doesn't have an explicit type ANYTYPE_NAME (AKA anonymous.)
-
getInfo
@Deprecated public CNonElement getInfo()
Deprecated.Guaranteed to return this.- Specified by:
getInfo
in interfaceCNonElement
- Specified by:
getInfo
in interfaceTypeUse
-
getSubstitutionHead
public CElement getSubstitutionHead()
Description copied from interface:Element
If this element can substitute another element, return that element.Substitutability of elements are transitive.
- Specified by:
getSubstitutionHead
in interfaceElement<NType,NClass>
- Returns:
- null if no such element exists.
-
getScope
public CClassInfo getScope()
Description copied from interface:Element
If non-null, this element is only active inside the given scope.
-
getElementName
public javax.xml.namespace.QName getElementName()
Description copied from interface:Element
Gets the element name of the class.- Specified by:
getElementName
in interfaceElement<NType,NClass>
- Returns:
- Always non-null.
-
isBoxedType
public boolean isBoxedType()
Description copied from interface:NType
Returns true iff this type represents a class that has a unboxed form. For example, forString
this is false, but forInteger
this is true.- Specified by:
isBoxedType
in interfaceNType
-
isSimpleType
public boolean isSimpleType()
Description copied from interface:NonElement
Returns true if thisNonElement
maps to text in XML, without any attribute nor child elements.- Specified by:
isSimpleType
in interfaceNonElement<NType,NClass>
-
getLocator
public org.xml.sax.Locator getLocator()
Description copied from interface:CCustomizable
Gets the source location in the schema from which this model component is created.- Specified by:
getLocator
in interfaceCCustomizable
- Returns:
- never null.
-
isCollection
public final boolean isCollection()
-
getAdapterUse
public final CAdapter getAdapterUse()
-
idUse
public final ID idUse()
-
getSchemaComponent
public final XSComponent getSchemaComponent()
Description copied from interface:CCustomizable
If this model object is built from XML Schema, this property returns a schema component from which the model is built.- Specified by:
getSchemaComponent
in interfaceCCustomizable
- Returns:
- null if the model is built from sources other than XML Schema (such as DTD.)
-
canBeReferencedByIDREF
public final boolean canBeReferencedByIDREF()
Deprecated.why are you calling an unimplemented method?Description copied from interface:TypeInfo
True if this type is a valid target from a property annotated withXmlIDREF
.- Specified by:
canBeReferencedByIDREF
in interfaceTypeInfo<NType,NClass>
-
getExpectedMimeType
public javax.activation.MimeType getExpectedMimeType()
No defaultMimeType
.
-
getCustomizations
public CCustomizations getCustomizations()
Description copied from interface:CCustomizable
Gets the list of customizations attached to this model component.- Specified by:
getCustomizations
in interfaceCCustomizable
- Returns:
- can be an empty list but never be null. The returned list is read-only. Do not modify.
- See Also:
Plugin.getCustomizationURIs()
-
createConstant
public JExpression createConstant(Outline outline, XmlString lexical)
-
getUpstream
public final Locatable getUpstream()
Description copied from interface:Locatable
Gets the upstreamLocation
information.- Specified by:
getUpstream
in interfaceLocatable
- Returns:
- can be null.
-
getLocation
public final Location getLocation()
Description copied from interface:Locatable
Gets the location object that this object points to. This operation could be inefficient and costly.- Specified by:
getLocation
in interfaceLocatable
-
-