Class XSDatatypeExp.RenderingContext

  • Enclosing class:
    XSDatatypeExp

    public static class XSDatatypeExp.RenderingContext
    extends java.lang.Object
    this object is used to keep the information about the dependency between late-bind datatype objects.

    Consider the following schema:

    
     <xs:simpleType name="foo">
       <xs:restriction base="bar">
         <xs:minLength value="3"/>
       </xs:restriction>
     </xs:simpleType>
     <xs:simpleType name="bar">
       <xs:restriction base="foo">
         <xs:minLength value="3"/>
       </xs:restriction>
     </xs:simpleType>
     
    Since two types are depending on each other, if you call the getBody method of "foo" type, it will call the getBody method of "bar" type. Then in turn it will call "foo" again. So this will result in the infinite recursion.

    This context object is used to detect such condition and reports the dependency to the user.

    No method is publicly accessible.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Stack callStack  
    • Method Summary

      • Methods inherited from class java.lang.Object

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

      • callStack

        private final java.util.Stack callStack
    • Constructor Detail

      • RenderingContext

        RenderingContext()