Package com.sun.tools.xjc.model
Class CClassInfo
- java.lang.Object
-
- com.sun.tools.xjc.model.CClassInfo
-
- All Implemented Interfaces:
CClass,CClassInfoParent,CCustomizable,CElement,CNonElement,CTypeInfo,NClass,NType,TypeUse,com.sun.xml.bind.v2.model.annotation.Locatable,com.sun.xml.bind.v2.model.core.ClassInfo<NType,NClass>,com.sun.xml.bind.v2.model.core.Element<NType,NClass>,com.sun.xml.bind.v2.model.core.MaybeElement<NType,NClass>,com.sun.xml.bind.v2.model.core.NonElement<NType,NClass>,com.sun.xml.bind.v2.model.core.TypeInfo<NType,NClass>
public final class CClassInfo extends Object implements com.sun.xml.bind.v2.model.core.ClassInfo<NType,NClass>, CClassInfoParent, CClass, NClass
MutableClassInforepresentation.Schema parsers build these objects.
- Author:
- Kohsuke Kawaguchi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.sun.tools.xjc.model.CClassInfoParent
CClassInfoParent.Package, CClassInfoParent.Visitor<T>
-
-
Constructor Summary
Constructors Constructor Description CClassInfo(Model model, JCodeModel cm, String fullName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)CClassInfo(Model model, JPackage pkg, String shortName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)CClassInfo(Model model, CClassInfoParent p, String shortName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void_implements(JClass c)<T> Taccept(CClassInfoParent.Visitor<T> visitor)voidaddConstructor(String... fieldNames)Creates a new constructor declaration and adds it.voidaddProperty(CPropertyInfo prop)Adds a new property.com.sun.xml.bind.v2.model.core.Element<NType,NClass>asElement()booleancanBeReferencedByIDREF()Deprecated.why are you calling an unimplemented method?JExpressioncreateConstant(Outline outline, XmlString lexical)booleandeclaresAttributeWildcard()Returns true if a new attribute wildcard property needs to be declared on this class.StringfullName()Returns the FQCN of this bean.CAdaptergetAdapterUse()CClassInfogetBaseClass()This inherited version returns null if this class extends fromCClassRef.NClassgetClazz()Collection<? extends Constructor>getConstructors()list all constructor declarations.CCustomizationsgetCustomizations()Gets the list of customizations attached to this model component.QNamegetElementName()javax.activation.MimeTypegetExpectedMimeType()No defaultMimeType.CNonElementgetInfo()Deprecated.com.sun.xml.bind.v2.runtime.LocationgetLocation()LocatorgetLocator()Gets the source location in the schema from which this model component is created.StringgetName()JPackagegetOwnerPackage()Gets the nearestJPackage.List<CPropertyInfo>getProperties()Returns a mutable list.CPropertyInfogetProperty(String name)Gets a propery by name.CClassRefgetRefBaseClass()XSComponentgetSchemaComponent()If this model object is built from XML Schema, this property returns a schema component from which the model is built.CClassInfogetScope()StringgetSqueezedName()Returns the "squeezed name" of this bean token.CClassInfogetSubstitutionHead()NClassgetType()QNamegetTypeName()com.sun.xml.bind.v2.model.annotation.LocatablegetUpstream()StringgetUserSpecifiedImplClass()booleanhasAttributeWildcard()voidhasAttributeWildcard(boolean hasAttributeWildcard)booleanhasProperties()booleanhasSubClasses()booleanhasValueProperty()com.sun.xml.bind.v2.model.core.IDidUse()booleaninheritsAttributeWildcard()Returns true if this class inherits a wildcard attribute property from its ancestor classes.booleanisAbstract()Returns true iff this element is an abstract element.booleanisBoxedType()Returns true iff this type represents a class that has a unboxed form.booleanisCollection()booleanisElement()booleanisFinal()Deprecated.if you are calling this method directly, you must be doing something wrong.booleanisOrdered()booleanisSimpleType()Iterator<CClassInfo>listSubclasses()Enumerates all the sub-classes of this class.CClassInfoParentparent()voidsetAbstract()Marks this element as an abstract element.voidsetBaseClass(CClass base)This method accepts bothCClassInfo(which means the base class is also generated), orCClassRef(which means the base class is already generated and simply referenced.) The latter is treated somewhat special --- from the rest of the model this external base class is invisible.voidsetOrdered(boolean value)voidsetUserSpecifiedImplClass(String implClass)StringtoString()JClasstoType(Outline o, Aspect aspect)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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.CElement
isAbstract, setAbstract
-
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.tools.xjc.model.nav.NClass
isAbstract
-
Methods inherited from interface com.sun.tools.xjc.model.TypeUse
createConstant, getExpectedMimeType, idUse
-
-
-
-
Constructor Detail
-
CClassInfo
public CClassInfo(Model model, JPackage pkg, String shortName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)
-
CClassInfo
public CClassInfo(Model model, CClassInfoParent p, String shortName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)
-
CClassInfo
public CClassInfo(Model model, JCodeModel cm, String fullName, Locator location, QName typeName, QName elementName, XSComponent source, CCustomizations customizations)
-
-
Method Detail
-
hasAttributeWildcard
public boolean hasAttributeWildcard()
-
hasAttributeWildcard
public void hasAttributeWildcard(boolean hasAttributeWildcard)
-
hasSubClasses
public boolean hasSubClasses()
-
declaresAttributeWildcard
public boolean declaresAttributeWildcard()
Returns true if a new attribute wildcard property needs to be declared on this class.
-
inheritsAttributeWildcard
public boolean inheritsAttributeWildcard()
Returns true if this class inherits a wildcard attribute property from its ancestor classes.
-
getClazz
public NClass getClazz()
-
getScope
public CClassInfo getScope()
-
getName
public String getName()
-
getSqueezedName
public String getSqueezedName()
Returns the "squeezed name" of this bean token.The squeezed name of a bean is the concatenation of the names of its outer classes and itself.
Thus if the bean is "org.acme.foo.Bean", then the squeezed name is "Bean", if the bean is "org.acme.foo.Outer1.Outer2.Bean", then "Outer1Outer2Bean".
This is used by the code generator
-
getProperties
public List<CPropertyInfo> getProperties()
Returns a mutable list.
-
hasValueProperty
public boolean hasValueProperty()
-
getProperty
public CPropertyInfo getProperty(String name)
Gets a propery by name.
-
hasProperties
public boolean hasProperties()
-
isElement
public boolean isElement()
-
getInfo
@Deprecated public CNonElement getInfo()
Deprecated.Guaranteed to return this.- Specified by:
getInfoin interfaceCNonElement- Specified by:
getInfoin interfaceTypeUse
-
isOrdered
public boolean isOrdered()
-
isFinal
public boolean isFinal()
Deprecated.if you are calling this method directly, you must be doing something wrong.
-
setOrdered
public void setOrdered(boolean value)
-
getElementName
public QName getElementName()
-
getTypeName
public QName getTypeName()
-
isSimpleType
public boolean isSimpleType()
-
fullName
public String fullName()
Returns the FQCN of this bean.- Specified by:
fullNamein interfaceCClassInfoParent- Specified by:
fullNamein interfaceNType
-
parent
public CClassInfoParent parent()
-
setUserSpecifiedImplClass
public void setUserSpecifiedImplClass(String implClass)
-
getUserSpecifiedImplClass
public String getUserSpecifiedImplClass()
-
addProperty
public void addProperty(CPropertyInfo prop)
Adds a new property.
-
setBaseClass
public void setBaseClass(CClass base)
This method accepts bothCClassInfo(which means the base class is also generated), orCClassRef(which means the base class is already generated and simply referenced.) The latter is treated somewhat special --- from the rest of the model this external base class is invisible. This modeling might need more thoughts to get right.
-
getBaseClass
public CClassInfo getBaseClass()
This inherited version returns null if this class extends fromCClassRef.- Specified by:
getBaseClassin interfacecom.sun.xml.bind.v2.model.core.ClassInfo<NType,NClass>- See Also:
getRefBaseClass()
-
getRefBaseClass
public CClassRef getRefBaseClass()
-
listSubclasses
public Iterator<CClassInfo> listSubclasses()
Enumerates all the sub-classes of this class.
-
getSubstitutionHead
public CClassInfo getSubstitutionHead()
-
_implements
public void _implements(JClass c)
-
addConstructor
public void addConstructor(String... fieldNames)
Creates a new constructor declaration and adds it.
-
getConstructors
public Collection<? extends Constructor> getConstructors()
list all constructor declarations.
-
accept
public final <T> T accept(CClassInfoParent.Visitor<T> visitor)
- Specified by:
acceptin interfaceCClassInfoParent
-
getOwnerPackage
public JPackage getOwnerPackage()
Description copied from interface:CClassInfoParentGets the nearestJPackage.- Specified by:
getOwnerPackagein interfaceCClassInfoParent
-
getType
public final NClass getType()
-
toType
public final JClass toType(Outline o, Aspect aspect)
Description copied from interface:CTypeInfo- Specified by:
toTypein interfaceCTypeInfo- Specified by:
toTypein interfaceNClass- Specified by:
toTypein interfaceNTypeaspect- 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)
-
isBoxedType
public boolean isBoxedType()
Description copied from interface:NTypeReturns true iff this type represents a class that has a unboxed form. For example, forStringthis is false, but forIntegerthis is true.- Specified by:
isBoxedTypein interfaceNType
-
getLocator
public Locator getLocator()
Description copied from interface:CCustomizableGets the source location in the schema from which this model component is created.- Specified by:
getLocatorin interfaceCCustomizable- Returns:
- never null.
-
isAbstract
public boolean isAbstract()
Description copied from interface:CElementReturns true iff this element is an abstract element.- Specified by:
isAbstractin interfaceCElement
-
setAbstract
public void setAbstract()
Description copied from interface:CElementMarks this element as an abstract element.- Specified by:
setAbstractin interfaceCElement
-
isCollection
public final boolean isCollection()
-
getAdapterUse
public final CAdapter getAdapterUse()
-
idUse
public final com.sun.xml.bind.v2.model.core.ID idUse()
-
getSchemaComponent
public final XSComponent getSchemaComponent()
Description copied from interface:CCustomizableIf this model object is built from XML Schema, this property returns a schema component from which the model is built.- Specified by:
getSchemaComponentin 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?
-
getExpectedMimeType
public javax.activation.MimeType getExpectedMimeType()
No defaultMimeType.
-
getCustomizations
public CCustomizations getCustomizations()
Description copied from interface:CCustomizableGets the list of customizations attached to this model component.- Specified by:
getCustomizationsin 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 com.sun.xml.bind.v2.model.annotation.Locatable getUpstream()
- Specified by:
getUpstreamin interfacecom.sun.xml.bind.v2.model.annotation.Locatable
-
getLocation
public final com.sun.xml.bind.v2.runtime.Location getLocation()
- Specified by:
getLocationin interfacecom.sun.xml.bind.v2.model.annotation.Locatable
-
-