com.sun.xml.bind.v2.schemagen
abstract class Tree extends Object
This is built from bottom up so that we can eliminate redundant constructs, and produce the most concise content model definition in XML.
Nested Class Summary | |
---|---|
abstract static class | Tree.Term
Represents a terminal tree node, such as element, wildcard, etc. |
Method Summary | |
---|---|
boolean | canBeTopLevel()
Returns true if the top node of this tree can
appear as a valid top-level content model in XML Schema.
|
abstract boolean | isNullable()
Returns true if this tree accepts empty sequence. |
static Tree | makeGroup(GroupKind kind, List<Tree> children)
Returns a group tree. |
Tree | makeOptional(boolean really)
Returns "T? |
Tree | makeRepeated(boolean really)
Returns "T+" from "T".
|
protected abstract void | write(ContentModelContainer parent, boolean isOptional, boolean repeated)
Writes out the content model.
|
protected void | write(TypeDefParticle ct)
Writes inside the given complex type. |
protected void | writeOccurs(Occurs o, boolean isOptional, boolean repeated)
Convenience method to write occurrence constraints. |
Model groups and occurrences that have model group in it can.
Parameters: really if false this method becomes no-op. This is so that we can write the caller fluently.
Parameters: really if false this method becomes no-op. This is so that we can write the caller fluently.