Class CBuiltinLeafInfo
- java.lang.Object
-
- com.sun.tools.xjc.model.CBuiltinLeafInfo
-
- All Implemented Interfaces:
CCustomizable
,CNonElement
,CTypeInfo
,TypeUse
,Locatable
,BuiltinLeafInfo<NType,NClass>
,LeafInfo<NType,NClass>
,MaybeElement<NType,NClass>
,NonElement<NType,NClass>
,TypeInfo<NType,NClass>
,Location
public abstract class CBuiltinLeafInfo extends java.lang.Object implements CNonElement, BuiltinLeafInfo<NType,NClass>, LeafInfo<NType,NClass>, Location
Encapsulates the default handling for leaf classes (which are bound to text in XML.) In particular this class knows how to convert the lexical value into the Java class according to this default rule.This represents the spec-defined default handling for the Java type (
getType()
.For those Java classes (such as
String
orBoolean
) where the spec designates a specific default handling, there are constants in this class (such asSTRING
orBOOLEAN
.)The generated type-safe enum classes are also a leaf class, and as such there are
CEnumLeafInfo
that represents it asCBuiltinLeafInfo
.This class represents the default handling, and therefore we can only have one instance per one
NType
. Handling of other XML Schema types (such as xs:token) are represented as a generalTypeUse
objects.- Author:
- Kohsuke Kawaguchi
-
-
Field Summary
Fields Modifier and Type Field Description static CBuiltinLeafInfo
ANYTYPE
static CBuiltinLeafInfo
BASE64_BYTE_ARRAY
static CBuiltinLeafInfo
BIG_DECIMAL
static CBuiltinLeafInfo
BIG_INTEGER
static CBuiltinLeafInfo
BOOLEAN
static TypeUse
BOOLEAN_ZERO_OR_ONE
boolean restricted to 0 or 1.static CBuiltinLeafInfo
BYTE
static CBuiltinLeafInfo
CALENDAR
static CBuiltinLeafInfo
DATA_HANDLER
static CBuiltinLeafInfo
DOUBLE
static CBuiltinLeafInfo
DURATION
static CBuiltinLeafInfo
FLOAT
static TypeUse
HEXBIN_BYTE_ARRAY
static TypeUse
ID
static TypeUse
IDREF
IDREF.static CBuiltinLeafInfo
IMAGE
static CBuiltinLeafInfo
INT
static java.util.Map<NType,CBuiltinLeafInfo>
LEAVES
All built-in leaves.static CBuiltinLeafInfo
LONG
static TypeUse
NORMALIZED_STRING
static CBuiltinLeafInfo
QNAME
static CBuiltinLeafInfo
SHORT
static CBuiltinLeafInfo
STRING
static TypeUse
STRING_LIST
For all list of strings, such as NMTOKENS, ENTITIES.static TypeUse
TOKEN
static CBuiltinLeafInfo
XML_SOURCE
-
Fields inherited from interface com.sun.xml.bind.v2.model.core.NonElement
ANYTYPE_NAME
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Element<NType,NClass>
asElement()
Deprecated.always return null at this level.boolean
canBeReferencedByIDREF()
Deprecated.why are you calling a method whose return value is always known?CAdapter
getAdapterUse()
Deprecated.javax.xml.namespace.QName
getElementName()
Deprecated.always return null at this level.javax.activation.MimeType
getExpectedMimeType()
CBuiltinLeafInfo
never has a default associated MIME type.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.NType
getType()
A reference to the representation of the type.javax.xml.namespace.QName
getTypeName()
Gets the primary XML type ANYTYPE_NAME of the class.javax.xml.namespace.QName[]
getTypeNames()
Returns all the type names recognized by this bean info.Locatable
getUpstream()
Gets the upstreamLocation
information.ID
idUse()
Whether the referenced type (individual item type in case of collection) is ID/IDREF.boolean
isCollection()
Deprecated.boolean
isElement()
Deprecated.always return false at this level.boolean
isSimpleType()
Returns true if thisNonElement
maps to text in XML, without any attribute nor child elements.TypeUse
makeAdapted(java.lang.Class<? extends javax.xml.bind.annotation.adapters.XmlAdapter> adapter, boolean copy)
Creates aTypeUse
that represents an adapted use of thisCBuiltinLeafInfo
.TypeUse
makeCollection()
Creates aTypeUse
that represents a collection of thisCBuiltinLeafInfo
.TypeUse
makeMimeTyped(javax.activation.MimeType mt)
Creates aTypeUse
that represents a MIME-type assocaited version of thisCBuiltinLeafInfo
.JType
toType(Outline o, Aspect aspect)
Gets the code model representation of this type.-
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
-
Methods inherited from interface com.sun.tools.xjc.model.TypeUse
createConstant
-
-
-
-
Field Detail
-
LEAVES
public static final java.util.Map<NType,CBuiltinLeafInfo> LEAVES
All built-in leaves.
-
ANYTYPE
public static final CBuiltinLeafInfo ANYTYPE
-
STRING
public static final CBuiltinLeafInfo STRING
-
BOOLEAN
public static final CBuiltinLeafInfo BOOLEAN
-
INT
public static final CBuiltinLeafInfo INT
-
LONG
public static final CBuiltinLeafInfo LONG
-
BYTE
public static final CBuiltinLeafInfo BYTE
-
SHORT
public static final CBuiltinLeafInfo SHORT
-
FLOAT
public static final CBuiltinLeafInfo FLOAT
-
DOUBLE
public static final CBuiltinLeafInfo DOUBLE
-
QNAME
public static final CBuiltinLeafInfo QNAME
-
CALENDAR
public static final CBuiltinLeafInfo CALENDAR
-
DURATION
public static final CBuiltinLeafInfo DURATION
-
BIG_INTEGER
public static final CBuiltinLeafInfo BIG_INTEGER
-
BIG_DECIMAL
public static final CBuiltinLeafInfo BIG_DECIMAL
-
BASE64_BYTE_ARRAY
public static final CBuiltinLeafInfo BASE64_BYTE_ARRAY
-
DATA_HANDLER
public static final CBuiltinLeafInfo DATA_HANDLER
-
IMAGE
public static final CBuiltinLeafInfo IMAGE
-
XML_SOURCE
public static final CBuiltinLeafInfo XML_SOURCE
-
HEXBIN_BYTE_ARRAY
public static final TypeUse HEXBIN_BYTE_ARRAY
-
TOKEN
public static final TypeUse TOKEN
-
NORMALIZED_STRING
public static final TypeUse NORMALIZED_STRING
-
ID
public static final TypeUse ID
-
BOOLEAN_ZERO_OR_ONE
public static final TypeUse BOOLEAN_ZERO_OR_ONE
boolean restricted to 0 or 1.
-
IDREF
public static final TypeUse IDREF
IDREF. IDREF is has a whitespace normalization semantics of token, but we don't wantXmlJavaTypeAdapter
andXmlIDREF
to interact.
-
STRING_LIST
public static final TypeUse STRING_LIST
For all list of strings, such as NMTOKENS, ENTITIES.
-
-
Method Detail
-
toType
public JType toType(Outline o, Aspect aspect)
Gets the code model representation of this type.- Specified by:
toType
in interfaceCTypeInfo
- See Also:
NType.toType(Outline, com.sun.tools.xjc.outline.Aspect)
-
isCollection
@Deprecated public final boolean isCollection()
Deprecated.SinceCBuiltinLeafInfo
represents a default binding, it is never a collection.- Specified by:
isCollection
in interfaceCNonElement
- Specified by:
isCollection
in interfaceTypeUse
-
getInfo
@Deprecated public CNonElement getInfo()
Deprecated.Guaranteed to return this.- Specified by:
getInfo
in interfaceCNonElement
- Specified by:
getInfo
in interfaceTypeUse
-
idUse
public ID idUse()
Description copied from interface:TypeUse
Whether the referenced type (individual item type in case of collection) is ID/IDREF.ID 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
.
-
getExpectedMimeType
public javax.activation.MimeType getExpectedMimeType()
CBuiltinLeafInfo
never has a default associated MIME type.- Specified by:
getExpectedMimeType
in interfaceTypeUse
-
getAdapterUse
@Deprecated public final CAdapter getAdapterUse()
Deprecated.Description copied from interface:CNonElement
Guaranteed to return null.- Specified by:
getAdapterUse
in interfaceCNonElement
- Specified by:
getAdapterUse
in interfaceTypeUse
-
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.
-
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.)
-
makeCollection
public final TypeUse makeCollection()
Creates aTypeUse
that represents a collection of thisCBuiltinLeafInfo
.
-
makeAdapted
public final TypeUse makeAdapted(java.lang.Class<? extends javax.xml.bind.annotation.adapters.XmlAdapter> adapter, boolean copy)
Creates aTypeUse
that represents an adapted use of thisCBuiltinLeafInfo
.
-
makeMimeTyped
public final TypeUse makeMimeTyped(javax.activation.MimeType mt)
Creates aTypeUse
that represents a MIME-type assocaited version of thisCBuiltinLeafInfo
.
-
isElement
public final boolean isElement()
Deprecated.always return false at this level.Description copied from interface:MaybeElement
If the class is bound to an element, return true.Note that when this is true, the class is bound to both an element and a type.
- Specified by:
isElement
in interfaceMaybeElement<NType,NClass>
-
getElementName
public final javax.xml.namespace.QName getElementName()
Deprecated.always return null at this level.Description copied from interface:MaybeElement
Gets the element name of the class, if the class is bound to an element.- Specified by:
getElementName
in interfaceMaybeElement<NType,NClass>
- Returns:
- non-null iff
MaybeElement.isElement()
.
-
asElement
public final Element<NType,NClass> asElement()
Deprecated.always return null at this level.Description copied from interface:MaybeElement
- Specified by:
asElement
in interfaceMaybeElement<NType,NClass>
- Returns:
- null if
MaybeElement.isElement()
==false, non-null ifMaybeElement.isElement()
==true.
-
getType
public NType getType()
A reference to the representation of the type.
-
getTypeNames
public final javax.xml.namespace.QName[] getTypeNames()
Returns all the type names recognized by this bean info.- Returns:
- do not modify the returned array.
-
canBeReferencedByIDREF
public final boolean canBeReferencedByIDREF()
Deprecated.why are you calling a method whose return value is always known?Leaf-type cannot be referenced from IDREF.- Specified by:
canBeReferencedByIDREF
in interfaceTypeInfo<NType,NClass>
-
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 interfaceBuiltinLeafInfo<NType,NClass>
- Specified by:
getTypeName
in interfaceNonElement<NType,NClass>
- Returns:
- null if the object doesn't have an explicit type ANYTYPE_NAME (AKA anonymous.)
-
getUpstream
public Locatable getUpstream()
Description copied from interface:Locatable
Gets the upstreamLocation
information.- Specified by:
getUpstream
in interfaceLocatable
- Returns:
- can be null.
-
getLocation
public 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
-
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>
-
-