XSComponents and generated
CTypeInfos.
This class determines which component is mapped to (or is not mapped to) what types.
| Modifier and Type | Class and Description |
|---|---|
| private class |
| Modifier and Type | Field and Description |
|---|---|
| private final Map | |
| private final Stack | |
| pack-priv final Map | boundElements
UGLY HACK. |
| private final BGMBuilder | builder
Center of owner classes. |
| private final Set | built
|
| private static Set | checkedPackageNames
Set of package names that are tested (set of |
| private final ClassBinder | classBinder
Object that determines components that are mapped to classes. |
| private final Stack | classScopes
|
| private CClassInfo | currentBean
The bean representation we are binding right now. |
| private XSComponent | currentRoot
The component that is being bound to |
| private static final String[] |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv CTypeInfo | _bindToClass(XSComponent sc, XSComponent
The component that refers to referer, boolean sc. This can be null,
if figuring out the referer is too hard, in which case
the error message might be less user friendly.if the binding of the body of the class cannot be defered
and needs to be done immediately. If the flag is false,
the binding of the body will be done later, to avoid
cyclic binding problem. cannotBeDelayed)The real meat of the "bindToType" code. |
| private void | addSchemaFragmentJavadoc(CClassInfo bean, XSComponent sc)
Copies a schema fragment into the javadoc of the generated class. |
| private void | |
| public CTypeInfo | bindToType(XSComponent sc, XSComponent referer)
Checks if the given component is being mapped to a type. |
| public CElement | |
| public CClass | |
| public TypeUse | |
| public void | |
| public CClassInfoParent | |
| public CClassInfo | |
| public XSComponent | |
| public JPackage | getPackage(String targetNamespace)
Gets the Java package to which classes from this namespace should go. |
| public CElement | |
| private boolean | needValueConstructor(XSComponent sc)
Determines if the given component needs to have a value constructor (a constructor that takes a parmater.) on ObjectFactory. |
| public void | |
| public void | |
| public void |
| bindMap | back to summary |
|---|---|
| private final Map<XSComponent, ClassSelector. Map from XSComponents to | |
| bindQueue | back to summary |
|---|---|
| private final Stack<ClassSelector. A list of | |
| boundElements | back to summary |
|---|---|
| pack-priv final Map<XSComponent, CElementInfo> boundElements UGLY HACK. To avoid cyclic dependency between binding elements and types, we need additional markers that tell which elements are definitely not bound to a class. the cyclic dependency is as follows: elements need to bind its types first, because otherwise it can't determine T of JAXBElement<T>. OTOH, types need to know whether its parent is bound to a class to decide which class name to use. | |
| builder | back to summary |
|---|---|
| private final BGMBuilder builder Center of owner classes. | |
| built | back to summary |
|---|---|
| private final Set<CClassInfo> built
| |
| checkedPackageNames | back to summary |
|---|---|
| private static Set<String> checkedPackageNames Set of package names that are tested (set of | |
| classBinder | back to summary |
|---|---|
| private final ClassBinder classBinder Object that determines components that are mapped to classes. | |
| classScopes | back to summary |
|---|---|
| private final Stack<CClassInfoParent> classScopes
| |
| currentBean | back to summary |
|---|---|
| private CClassInfo currentBean The bean representation we are binding right now. | |
| currentRoot | back to summary |
|---|---|
| private XSComponent currentRoot The component that is being bound to | |
| reservedClassNames | back to summary |
|---|---|
| private static final String[] reservedClassNames | |
| ClassSelector | back to summary |
|---|---|
| public ClassSelector() | |
| _bindToClass | back to summary |
|---|---|
| pack-priv CTypeInfo _bindToClass(XSComponent sc, XSComponent referer, boolean cannotBeDelayed) The real meat of the "bindToType" code.
| |
| addSchemaFragmentJavadoc | back to summary |
|---|---|
| private void addSchemaFragmentJavadoc(CClassInfo bean, XSComponent sc) Copies a schema fragment into the javadoc of the generated class. | |
| append | back to summary |
|---|---|
| private void append(CClassInfo bean, String doc) | |
| bindToType | back to summary |
|---|---|
| public CTypeInfo bindToType(XSComponent sc, XSComponent referer) Checks if the given component is being mapped to a type. If so, build that type and return that object. If it is not being mapped to a type item, return null. | |
| bindToType | back to summary |
|---|---|
| public CElement bindToType(XSElementDecl e, XSComponent referer) | |
| bindToType | back to summary |
|---|---|
| public CClass bindToType(XSComplexType t, XSComponent referer, boolean cannotBeDelayed) | |
| bindToType | back to summary |
|---|---|
| public TypeUse bindToType(XSType t, XSComponent referer) | |
| executeTasks | back to summary |
|---|---|
| public void executeTasks() Runs all the pending build tasks. | |
| getClassScope | back to summary |
|---|---|
| public CClassInfoParent getClassScope() Gets the current class scope. | |
| getCurrentBean | back to summary |
|---|---|
| public CClassInfo getCurrentBean() | |
| getCurrentRoot | back to summary |
|---|---|
| public XSComponent getCurrentRoot() | |
| getPackage | back to summary |
|---|---|
| public JPackage getPackage(String targetNamespace) Gets the Java package to which classes from this namespace should go. Usually, the getOuterClass method should be used to determine where to put a class. | |
| isBound | back to summary |
|---|---|
| public CElement isBound(XSElementDecl x, XSComponent referer) Checks if the given component is bound to a class. | |
| needValueConstructor | back to summary |
|---|---|
| private boolean needValueConstructor(XSComponent sc) Determines if the given component needs to have a value constructor (a constructor that takes a parmater.) on ObjectFactory. | |
| popClassScope | back to summary |
|---|---|
| public void popClassScope() | |
| pushClassScope | back to summary |
|---|---|
| public void pushClassScope(CClassInfoParent clsFctry) | |
| queueBuild | back to summary |
|---|---|
| public void queueBuild(XSComponent sc, CElement bean) | |
| Modifier and Type | Field and Description |
|---|---|
| private final CTypeInfo | |
| private final XSComponent |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void |
| bean | back to summary |
|---|---|
| private final CTypeInfo bean | |
| sc | back to summary |
|---|---|
| private final XSComponent sc | |
| Binding | back to summary |
|---|---|
| public Binding(XSComponent sc, CTypeInfo bean) | |
| build | back to summary |
|---|---|
| pack-priv void build() | |