public class XSDatatypeExp extends ReferenceExp implements GrammarReader.BackPatch
Modifier and Type | Class and Description |
---|---|
static interface |
XSDatatypeExp.Renderer
this object renders the actual datatype object.
|
static class |
XSDatatypeExp.RenderingContext
this object is used to keep the information about
the dependency between late-bind datatype objects.
|
Modifier and Type | Field and Description |
---|---|
private XSDatatype |
dt
Datatype object wrapped by this expression.
|
private java.lang.String |
namespaceUri
Namespace URI of this datatype.
|
private State |
ownerState
State object that creates this late-binding object.
|
private ExpressionPool |
pool
ExpressionPool that can be used if necessary.
|
private XSDatatypeExp.Renderer |
renderer
Once the parsing is completed, this function object should
be able to render the actual datatype object.
|
exp, name
anyString, epsilon, nullSet, verifierTag
Modifier | Constructor and Description |
---|---|
private |
XSDatatypeExp(java.lang.String nsUri,
java.lang.String localName)
Used only for cloning
|
|
XSDatatypeExp(java.lang.String nsUri,
java.lang.String typeName,
GrammarReader reader,
XSDatatypeExp.Renderer _renderer)
Creates lazily created datatype.
|
|
XSDatatypeExp(XSDatatype dt,
ExpressionPool _pool)
Creates this object from existing XSDatatype.
|
Modifier and Type | Method and Description |
---|---|
XSDatatypeExp |
createFinalizedType(int finalValue,
GrammarReader reader)
Derives a new type by setting final values.
|
XSTypeIncubator |
createIncubator()
Creates an incubator so that the caller can add more facets
and derive a new type.
|
XSDatatypeExp |
getClone()
Gets a clone of this object.
|
XSDatatype |
getCreatedType()
Gets a encapsulated datatype object
This method can be called only after all the datatypes are created.
|
State |
getOwnerState()
gets State object who has submitted this patch job.
|
XSDatatype |
getType(XSDatatypeExp.RenderingContext context)
Gets the type definition.
|
boolean |
isLateBind() |
static XSDatatypeExp |
makeList(java.lang.String nsUri,
java.lang.String typeName,
XSDatatypeExp itemType,
GrammarReader reader)
Derives a new type by list.
|
static XSDatatypeExp |
makeUnion(java.lang.String typeNameUri,
java.lang.String typeName,
java.util.Collection members,
GrammarReader reader)
Derives a new type by union.
|
void |
patch()
Renders the type (GrammarReader.BackPatch implementation).
|
void |
redefine(XSDatatypeExp rhs)
Updates this object by copying the state from rhs
|
calcEpsilonReducibility, calcHashCode, equals, isDefined, visit, visit, visit, visit
getExpandedExp, hashCode, hashCode, hashCode, isEpsilonReducible, peelOccurence, readResolve, visit, visit, visit, visit
private final java.lang.String namespaceUri
private XSDatatype dt
ownerState
and renderer
fields are
available.private ExpressionPool pool
private transient State ownerState
private transient XSDatatypeExp.Renderer renderer
public XSDatatypeExp(XSDatatype dt, ExpressionPool _pool)
public XSDatatypeExp(java.lang.String nsUri, java.lang.String typeName, GrammarReader reader, XSDatatypeExp.Renderer _renderer)
private XSDatatypeExp(java.lang.String nsUri, java.lang.String localName)
public XSTypeIncubator createIncubator()
public XSDatatype getCreatedType()
Some of the datatypes are lazily during the back-patching phase.
public XSDatatype getType(XSDatatypeExp.RenderingContext context)
public void patch()
patch
in interface GrammarReader.BackPatch
public State getOwnerState()
GrammarReader.BackPatch
getOwnerState
in interface GrammarReader.BackPatch
public final boolean isLateBind()
public XSDatatypeExp getClone()
public void redefine(XSDatatypeExp rhs)
public XSDatatypeExp createFinalizedType(int finalValue, GrammarReader reader)
public static XSDatatypeExp makeList(java.lang.String nsUri, java.lang.String typeName, XSDatatypeExp itemType, GrammarReader reader) throws org.relaxng.datatype.DatatypeException
org.relaxng.datatype.DatatypeException
public static XSDatatypeExp makeUnion(java.lang.String typeNameUri, java.lang.String typeName, java.util.Collection members, GrammarReader reader) throws org.relaxng.datatype.DatatypeException
org.relaxng.datatype.DatatypeException