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.
See Also:
  • Field Details

    • namespaceUri

      private final String namespaceUri
      Namespace URI of this datatype. Local name is stored in the name field of ReferenceExp.
    • dt

      private XSDatatype dt
      Datatype object wrapped by this expression. This field can be null if the datatype object is not available at this moment (say, because of the forward reference). In this case, ownerState and renderer fields are available.
    • pool

      private ExpressionPool pool
      ExpressionPool that can be used if necessary.
    • ownerState

      private transient State ownerState
      State object that creates this late-binding object. The source location of this state is used for error message.
    • renderer

      private transient XSDatatypeExp.Renderer renderer
      Once the parsing is completed, this function object should be able to render the actual datatype object.
  • 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