|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.tools.xjc.reader.xmlschema.BindingComponent
com.sun.tools.xjc.reader.xmlschema.ClassSelector
public final class ClassSelector
Manages association between XSComponents and generated content interfaces.
All the content interfaces are created, registered, and maintained in this class.
Field Summary | |
---|---|
(package private) java.util.Map<com.sun.xml.xsom.XSComponent,CElementInfo> |
boundElements
UGLY HACK. |
Constructor Summary | |
---|---|
ClassSelector()
|
Method Summary | |
---|---|
(package private) CTypeInfo |
_bindToClass(com.sun.xml.xsom.XSComponent sc,
boolean cannotBeDelayed)
|
CClassInfo |
bindToType(com.sun.xml.xsom.XSComplexType t)
|
CClassInfo |
bindToType(com.sun.xml.xsom.XSComplexType t,
boolean cannotBeDelayed)
|
CTypeInfo |
bindToType(com.sun.xml.xsom.XSComponent sc)
Checks if the given component is being mapped to a type. |
CElement |
bindToType(com.sun.xml.xsom.XSElementDecl e)
|
TypeUse |
bindToType(com.sun.xml.xsom.XSType t)
|
void |
executeTasks()
Runs all the pending build tasks. |
CClassInfoParent |
getClassScope()
Gets the current class scope. |
CClassInfo |
getCurrentBean()
|
com.sun.xml.xsom.XSComponent |
getCurrentRoot()
|
com.sun.codemodel.JPackage |
getPackage(java.lang.String targetNamespace)
Gets the Java package to which classes from this namespace should go. |
CElement |
isBound(com.sun.xml.xsom.XSElementDecl x)
Checks if the given component is bound to a class. |
void |
popClassScope()
|
void |
pushClassScope(CClassInfoParent clsFctry)
|
void |
queueBuild(com.sun.xml.xsom.XSComponent sc,
CElement bean)
|
Methods inherited from class com.sun.tools.xjc.reader.xmlschema.BindingComponent |
---|
getClassSelector, getErrorReporter |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
final java.util.Map<com.sun.xml.xsom.XSComponent,CElementInfo> boundElements
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
Constructor Detail |
---|
public ClassSelector()
Method Detail |
---|
public final CClassInfoParent getClassScope()
public final void pushClassScope(CClassInfoParent clsFctry)
public final void popClassScope()
public com.sun.xml.xsom.XSComponent getCurrentRoot()
public CClassInfo getCurrentBean()
public final CElement isBound(com.sun.xml.xsom.XSElementDecl x)
public CTypeInfo bindToType(com.sun.xml.xsom.XSComponent sc)
public CElement bindToType(com.sun.xml.xsom.XSElementDecl e)
public CClassInfo bindToType(com.sun.xml.xsom.XSComplexType t)
public CClassInfo bindToType(com.sun.xml.xsom.XSComplexType t, boolean cannotBeDelayed)
public TypeUse bindToType(com.sun.xml.xsom.XSType t)
CTypeInfo _bindToClass(com.sun.xml.xsom.XSComponent sc, boolean cannotBeDelayed)
cannotBeDelayed
- 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.public void executeTasks()
public void queueBuild(com.sun.xml.xsom.XSComponent sc, CElement bean)
public com.sun.codemodel.JPackage getPackage(java.lang.String targetNamespace)
Usually, the getOuterClass method should be used to determine where to put a class.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |