|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.tools.xjc.model.CElementInfo
public final class CElementInfo
ElementInfo
implementation for the compile-time model.
As an NType, it represents the Java representation of this element (either JAXBElement<T> or Foo).
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.sun.tools.xjc.model.CClassInfoParent |
---|
CClassInfoParent.Package, CClassInfoParent.Visitor<T> |
Field Summary | |
---|---|
CClassInfoParent |
parent
If this element is global, the element info is considered to be package-level, and this points to the package in which this element lives in. |
Constructor Summary | |
---|---|
CElementInfo(Model model,
javax.xml.namespace.QName tagName,
CClassInfoParent parent,
java.lang.String className,
CCustomizations customizations,
org.xml.sax.Locator location)
Creates an element with a class in the given parent. |
|
CElementInfo(Model model,
javax.xml.namespace.QName tagName,
CClassInfoParent parent,
TypeUse contentType,
com.sun.xml.xsom.XmlString defaultValue,
com.sun.xml.xsom.XSElementDecl source,
CCustomizations customizations,
org.xml.sax.Locator location)
Creates an element in the given parent. |
Method Summary | ||
---|---|---|
com.sun.codemodel.JPackage |
_package()
|
|
|
accept(CClassInfoParent.Visitor<T> visitor)
|
|
boolean |
canBeReferencedByIDREF()
Deprecated. why are you calling an unimplemented method? |
|
com.sun.codemodel.JExpression |
createConstant(Outline outline,
com.sun.xml.xsom.XmlString lexical)
|
|
java.lang.String |
fullName()
Human readable name of this type. |
|
CAdapter |
getAdapterUse()
|
|
NType |
getContentInMemoryType()
T of JAXBElement<T> . |
|
CNonElement |
getContentType()
Short for getProperty().ref().get(0) . |
|
CCustomizations |
getCustomizations()
Gets the list of customizations attached to this model component. |
|
java.lang.String |
getDefaultValue()
|
|
javax.xml.namespace.QName |
getElementName()
Gets the element name of the class. |
|
javax.activation.MimeType |
getExpectedMimeType()
No default MimeType . |
|
Location |
getLocation()
|
|
org.xml.sax.Locator |
getLocator()
Gets the source location in the schema from which this model component is created. |
|
com.sun.codemodel.JPackage |
getOwnerPackage()
Gets the nearest JPackage . |
|
CElementPropertyInfo |
getProperty()
Gets the object that represents the value property. |
|
com.sun.xml.xsom.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. |
|
java.lang.String |
getSqueezedName()
Returns the "squeezed name" of this element. |
|
CElementInfo |
getSubstitutionHead()
If this element can substitute another element, return that element. |
|
java.util.Collection<CElementInfo> |
getSubstitutionMembers()
All the ElementInfo s whose ElementInfo.getSubstitutionHead() points
to this object. |
|
NType |
getType()
Deprecated. why are you calling a method that returns this? |
|
Locatable |
getUpstream()
|
|
boolean |
hasClass()
True if this element has its own class (as opposed to be represented as an instance of JAXBElement . |
|
ID |
idUse()
|
|
void |
initContentType(TypeUse contentType,
com.sun.xml.xsom.XSElementDecl source,
com.sun.xml.xsom.XmlString defaultValue)
|
|
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()
|
|
void |
setAbstract()
Marks this element as an abstract element. |
|
void |
setSubstitutionHead(CElementInfo substitutionHead)
|
|
java.lang.String |
shortName()
|
|
com.sun.codemodel.JType |
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.xml.bind.v2.model.core.TypeInfo |
---|
canBeReferencedByIDREF |
Methods inherited from interface com.sun.tools.xjc.model.CCustomizable |
---|
getCustomizations, getSchemaComponent |
Field Detail |
---|
public final CClassInfoParent parent
For local elements, this points to the parent CClassInfo
.
Constructor Detail |
---|
public CElementInfo(Model model, javax.xml.namespace.QName tagName, CClassInfoParent parent, TypeUse contentType, com.sun.xml.xsom.XmlString defaultValue, com.sun.xml.xsom.XSElementDecl source, CCustomizations customizations, org.xml.sax.Locator location)
When using this construction, initContentType(TypeUse, XSElementDecl, XmlString)
must not be invoked.
public CElementInfo(Model model, javax.xml.namespace.QName tagName, CClassInfoParent parent, java.lang.String className, CCustomizations customizations, org.xml.sax.Locator location)
When using this construction, the caller must use
initContentType(TypeUse, XSElementDecl, XmlString)
to fill in the content type
later.
This is to avoid a circular model construction dependency between buidling a type
inside an element and element itself. To build a content type, you need to have
CElementInfo
for a parent, so we can't take it as a constructor parameter.
Method Detail |
---|
public void initContentType(TypeUse contentType, @Nullable com.sun.xml.xsom.XSElementDecl source, com.sun.xml.xsom.XmlString defaultValue)
public final java.lang.String getDefaultValue()
public final com.sun.codemodel.JPackage _package()
public CNonElement getContentType()
ElementInfo
getProperty().ref().get(0)
.
The type of the value this element holds.
Normally, this is the T of JAXBElement<T>
.
But if the property is adapted, this is the on-the-wire type.
Or if the element has a list of values, then this field
represents the type of the individual item.
getContentType
in interface ElementInfo<NType,NClass>
ElementInfo.getContentInMemoryType()
public NType getContentInMemoryType()
ElementInfo
JAXBElement<T>
.
This is tied to the in-memory representation.
getContentInMemoryType
in interface ElementInfo<NType,NClass>
ElementInfo.getContentType()
public CElementPropertyInfo getProperty()
ElementInfo
getProperty
in interface ElementInfo<NType,NClass>
public CClassInfo getScope()
Element
getScope
in interface Element<NType,NClass>
public NType getType()
ElementInfo
JAXBElement
<contentInMemoryType>.
This returns the signature in Java and thus isn't affected by the adapter.
getType
in interface ElementInfo<NType,NClass>
getType
in interface TypeInfo<NType,NClass>
public javax.xml.namespace.QName getElementName()
Element
getElementName
in interface Element<NType,NClass>
public com.sun.codemodel.JType toType(Outline o, Aspect aspect)
NType
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.
toType
in interface CTypeInfo
toType
in interface NType
aspect
- If Aspect.IMPLEMENTATION
, this method returns the
implementation specific class that this type represents.
If Aspect.EXPOSED
, this method returns the
publicly exposed type that this type represents.
For ordinary classes, the aspect parameter is meaningless.NType.toType(Outline, Aspect)
public java.lang.String getSqueezedName()
CClassInfo.getSqueezedName()
public CElementInfo getSubstitutionHead()
Element
Substitutability of elements are transitive.
getSubstitutionHead
in interface Element<NType,NClass>
getSubstitutionHead
in interface ElementInfo<NType,NClass>
public java.util.Collection<CElementInfo> getSubstitutionMembers()
ElementInfo
ElementInfo
s whose ElementInfo.getSubstitutionHead()
points
to this object.
getSubstitutionMembers
in interface ElementInfo<NType,NClass>
public void setSubstitutionHead(CElementInfo substitutionHead)
public boolean isBoxedType()
NType
String
this is false, but for Integer
this is true.
isBoxedType
in interface NType
public java.lang.String fullName()
NType
fullName
in interface CClassInfoParent
fullName
in interface NType
public <T> T accept(CClassInfoParent.Visitor<T> visitor)
accept
in interface CClassInfoParent
public com.sun.codemodel.JPackage getOwnerPackage()
CClassInfoParent
JPackage
.
getOwnerPackage
in interface CClassInfoParent
public java.lang.String shortName()
public boolean hasClass()
JAXBElement
.
public org.xml.sax.Locator getLocator()
CCustomizable
getLocator
in interface CCustomizable
public boolean isAbstract()
CElement
isAbstract
in interface CElement
public void setAbstract()
CElement
setAbstract
in interface CElement
public final boolean isCollection()
public final CAdapter getAdapterUse()
public final ID idUse()
public final com.sun.xml.xsom.XSComponent getSchemaComponent()
CCustomizable
getSchemaComponent
in interface CCustomizable
public final boolean canBeReferencedByIDREF()
TypeInfo
XmlIDREF
.
canBeReferencedByIDREF
in interface TypeInfo<NType,NClass>
public javax.activation.MimeType getExpectedMimeType()
MimeType
.
public CCustomizations getCustomizations()
CCustomizable
getCustomizations
in interface CCustomizable
Plugin.getCustomizationURIs()
public com.sun.codemodel.JExpression createConstant(Outline outline, com.sun.xml.xsom.XmlString lexical)
public final Locatable getUpstream()
public final Location getLocation()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |