Class LazyTypeIncubator

  • All Implemented Interfaces:
    XSTypeIncubator

    class LazyTypeIncubator
    extends java.lang.Object
    implements XSTypeIncubator
    Lazy XSTypeIncubator

    This incubator is used to add facets to lazily created XSDatatypeExp object. Since the actual Datatype object is not available when facets are parsed, this object merely stores all facets when the addFacet method is called.

    Once the actual Datatype is provided, this class uses ordinary TypeIncubator and builds a real type object.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  LazyTypeIncubator.Facet
      store the information about one added facet.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFacet​(java.lang.String name, java.lang.String strValue, boolean fixed, org.relaxng.datatype.ValidationContext context)  
      XSDatatypeExp derive​(java.lang.String nsUri, java.lang.String localName)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • facets

        private final java.util.List facets
        applied facets. Order between facets are possibly significant.
    • Method Detail

      • addFacet

        public void addFacet​(java.lang.String name,
                             java.lang.String strValue,
                             boolean fixed,
                             org.relaxng.datatype.ValidationContext context)
        Specified by:
        addFacet in interface XSTypeIncubator
      • derive

        public XSDatatypeExp derive​(java.lang.String nsUri,
                                    java.lang.String localName)
                             throws org.relaxng.datatype.DatatypeException
        Specified by:
        derive in interface XSTypeIncubator
        Throws:
        org.relaxng.datatype.DatatypeException