com.sun.tools.xjc.reader.xmlschema
public final class SimpleTypeBuilder extends BindingComponent
This code consists of two main portions. The compose method and composer forms an outer cycle, which gradually ascends the type inheritance chain until it finds the suitable binding. When it does this initiatingType is set to the type which started binding, so that we can refer to the actual constraint facets and such that are applicable on the type.
For each intermediate type in the chain, the find method is used to find the binding on that type, sine the outer loop is doing the ascending, this method only sees if the current type has some binding available.
There is at least one ugly code that you need to aware of when you are modifying the code. See the documentation about "simple type customization at the point of reference."
Field Summary | |
---|---|
protected BGMBuilder | builder |
static Map<String,TypeUse> | builtinConversions TypeUses for the built-in types. |
XSSimpleTypeFunction<TypeUse> | composer |
Stack<XSComponent> | refererStack
The component that is refering to the simple type
which we are building. |
Method Summary | |
---|---|
TypeUse | build(XSSimpleType type)
Entry point from outside. |
TypeUse | buildDef(XSSimpleType type)
A version of the build method
used to bind the definition of a class generated from
the given simple type. |
static boolean | canBeMappedToTypeSafeEnum(XSSimpleType type)
Returns true if the given simple type can be mapped to a
type-safe enum class.
|
TypeUse | compose(XSSimpleType t)
Recursively decend the type inheritance chain to find a binding. |
XSComponent | getReferer() |
boolean | isAcknowledgedXmimeContentTypes(XSComponent c) |
Parameters: type the simple type to be bound.
JAXB spec places a restrictrion as to what type can be mapped to a type-safe enum. This method enforces this constraint.