CCustomizable, CNonElement, CTypeInfo, NClass, NType, TypeUse, com.sun.xml.bind.v2.model.annotation.Locatable, com.sun.xml.bind.v2.model.core.EnumLeafInfo<NType,NClass>, com.sun.xml.bind.v2.model.core.LeafInfo<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 CEnumLeafInfo extends java.lang.Object implements com.sun.xml.bind.v2.model.core.EnumLeafInfo<NType,NClass>, NClass, CNonElement
| Modifier and Type | Field | Description |
|---|---|---|
CNonElement |
base |
Represents the underlying type of this enumeration
and its conversion.
|
java.lang.String |
javadoc |
|
java.util.Collection<CEnumConstant> |
members |
List of enum members.
|
Model |
model |
The
Model object to which this bean belongs. |
CClassInfoParent |
parent |
The parent into which the enum class should be generated.
|
java.lang.String |
shortName |
Short name of the generated type-safe enum.
|
| Constructor | Description |
|---|---|
CEnumLeafInfo(Model model,
javax.xml.namespace.QName typeName,
CClassInfoParent container,
java.lang.String shortName,
CNonElement base,
java.util.Collection<CEnumConstant> _members,
XSComponent source,
CCustomizations customizations,
org.xml.sax.Locator _sourceLocator) |
| Modifier and Type | Method | Description |
|---|---|---|
com.sun.xml.bind.v2.model.core.Element<NType,NClass> |
asElement() |
|
boolean |
canBeReferencedByIDREF() |
Deprecated.
why are you calling the method whose return value is known?
|
JExpression |
createConstant(Outline outline,
XmlString literal) |
Creates a constant for the given lexical value.
|
java.lang.String |
fullName() |
Human readable name of this type.
|
CAdapter |
getAdapterUse() |
Deprecated.
|
com.sun.xml.bind.v2.model.core.NonElement<NType,NClass> |
getBaseType() |
|
NClass |
getClazz() |
|
java.util.Collection<CEnumConstant> |
getConstants() |
|
CCustomizations |
getCustomizations() |
Gets the list of customizations attached to this model component.
|
javax.xml.namespace.QName |
getElementName() |
|
javax.activation.MimeType |
getExpectedMimeType() |
A
TypeUse can have an associated MIME type. |
CNonElement |
getInfo() |
Deprecated.
|
com.sun.xml.bind.v2.runtime.Location |
getLocation() |
|
org.xml.sax.Locator |
getLocator() |
Source line information that points to the place
where this type-safe enum is defined.
|
XSComponent |
getSchemaComponent() |
If this model object is built from XML Schema,
this property returns a schema component from which the model is built.
|
NType |
getType() |
|
javax.xml.namespace.QName |
getTypeName() |
|
com.sun.xml.bind.v2.model.annotation.Locatable |
getUpstream() |
|
com.sun.xml.bind.v2.model.core.ID |
idUse() |
Whether the referenced type (individual item type in case of collection)
is ID/IDREF.
|
boolean |
isAbstract() |
|
boolean |
isBoxedType() |
Returns true iff this type represents a class that has a unboxed form.
|
boolean |
isCollection() |
Deprecated.
|
boolean |
isElement() |
|
boolean |
isPrimitive() |
|
boolean |
isSimpleType() |
|
boolean |
needsValueField() |
The spec says the value field in the enum class will be generated
only under certain circumstances.
|
JClass |
toType(Outline o,
Aspect aspect) |
Returns the representation of this type in code model.
|
public final CClassInfoParent parent
public final java.lang.String shortName
public final CNonElement base
To parse XML into a constant, we use the base type
to do lexical -> value, then use a map to pick up the right one.
Hence this also represents the type of the Java value. For example, if this is an enumeration of xs:int, then this field will be Java int.
public final java.util.Collection<CEnumConstant> members
public java.lang.String javadoc
public CEnumLeafInfo(Model model, javax.xml.namespace.QName typeName, CClassInfoParent container, java.lang.String shortName, CNonElement base, java.util.Collection<CEnumConstant> _members, XSComponent source, CCustomizations customizations, org.xml.sax.Locator _sourceLocator)
public org.xml.sax.Locator getLocator()
getLocator in interface CCustomizablepublic javax.xml.namespace.QName getTypeName()
public NType getType()
public boolean canBeReferencedByIDREF()
public boolean isElement()
public javax.xml.namespace.QName getElementName()
public NClass getClazz()
public XSComponent getSchemaComponent()
CCustomizablegetSchemaComponent in interface CCustomizablepublic JClass 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 CTypeInfotoType in interface NClasstoType in interface NTypeaspect - 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, com.sun.tools.xjc.outline.Aspect)public boolean isAbstract()
isAbstract in interface NClasspublic boolean isBoxedType()
NTypeString this is false, but for Integer
this is true.isBoxedType in interface NTypepublic java.lang.String fullName()
NTypepublic boolean isPrimitive()
public boolean isSimpleType()
public boolean needsValueField()
public JExpression createConstant(Outline outline, XmlString literal)
TypeUse
For example, to create a constant 1 for xs:int, you'd do:
CBuiltinLeafInfo.INT.createConstant( codeModel, "1", null );
This method is invoked at the backend as a part of the code generation process.
createConstant in interface TypeUseTypeUse
(such as when it's a collection)@Deprecated public boolean isCollection()
CNonElementisCollection in interface CNonElementisCollection in interface TypeUse@Deprecated public CAdapter getAdapterUse()
CNonElementgetAdapterUse in interface CNonElementgetAdapterUse in interface TypeUse@Deprecated public CNonElement getInfo()
CNonElementgetInfo in interface CNonElementgetInfo in interface TypeUsepublic com.sun.xml.bind.v2.model.core.ID idUse()
TypeUseID is a property of a relationship. When a bean Foo has an ID property called 'bar' whose type is String, Foo isn't an ID, String isn't an ID, but this relationship is an ID (in the sense that Foo uses this String as an ID.)
The same thing can be said with IDREF. When Foo refers to Bar by means of IDREF, neither Foo nor Bar is IDREF.
That's why we have this method in TypeUse.
public javax.activation.MimeType getExpectedMimeType()
TypeUseTypeUse can have an associated MIME type.getExpectedMimeType in interface TypeUsepublic java.util.Collection<CEnumConstant> getConstants()
public CCustomizations getCustomizations()
CCustomizablegetCustomizations in interface CCustomizablePlugin.getCustomizationURIs()public com.sun.xml.bind.v2.model.annotation.Locatable getUpstream()
getUpstream in interface com.sun.xml.bind.v2.model.annotation.Locatablepublic com.sun.xml.bind.v2.runtime.Location getLocation()
getLocation in interface com.sun.xml.bind.v2.model.annotation.LocatableCopyright © 2017 Oracle Corporation. All rights reserved.