Class XSDatatypeExp

All Implemented Interfaces:
GrammarReader.BackPatch, Serializable

public class XSDatatypeExp extends ReferenceExp implements GrammarReader.BackPatch
A wrapper of XSDatatype that serves as an expression and encapsulates lazy-constructed datatypes.
Author:
Kohsuke KAWAGUCHI
See Also:
  • Constructor Details

  • Method Details

    • createIncubator

      public XSTypeIncubator createIncubator()
      Creates an incubator so that the caller can add more facets and derive a new type.
    • getCreatedType

      public XSDatatype getCreatedType()
      Gets a encapsulated datatype object This method can be called only after all the datatypes are created.

      Some of the datatypes are lazily during the back-patching phase.

    • getType

      public XSDatatype getType(XSDatatypeExp.RenderingContext context)
      Gets the type definition. This method renders the datatype object if it's not rendered yet. Internal use only.
    • patch

      public void patch()
      Renders the type (GrammarReader.BackPatch implementation).
      Specified by:
      patch in interface GrammarReader.BackPatch
    • getOwnerState

      public State getOwnerState()
      Description copied from interface: GrammarReader.BackPatch
      gets State object who has submitted this patch job.
      Specified by:
      getOwnerState in interface GrammarReader.BackPatch
    • isLateBind

      public final boolean isLateBind()
    • getClone

      public XSDatatypeExp getClone()
      Gets a clone of this object.
    • redefine

      public void redefine(XSDatatypeExp rhs)
      Updates this object by copying the state from rhs
    • createFinalizedType

      public XSDatatypeExp createFinalizedType(int finalValue, GrammarReader reader)
      Derives a new type by setting final values.
    • makeList

      public static XSDatatypeExp makeList(String nsUri, String typeName, XSDatatypeExp itemType, GrammarReader reader) throws org.relaxng.datatype.DatatypeException
      Derives a new type by list.
      Throws:
      org.relaxng.datatype.DatatypeException
    • makeUnion

      public static XSDatatypeExp makeUnion(String typeNameUri, String typeName, Collection members, GrammarReader reader) throws org.relaxng.datatype.DatatypeException
      Derives a new type by union.
      Throws:
      org.relaxng.datatype.DatatypeException