com.sun.msv.reader.trex.ng
Class RELAXNGReader.RefExpParseInfo

java.lang.Object
  extended by com.sun.msv.reader.trex.ng.RELAXNGReader.RefExpParseInfo
Enclosing class:
RELAXNGReader

protected static class RELAXNGReader.RefExpParseInfo
extends Object

information necessary to correctly parse pattern definitions.


Nested Class Summary
static class RELAXNGReader.RefExpParseInfo.RedefinitionStatus
           
 
Field Summary
 String combineMethod
          The combine method which is used to combine this pattern.
 Vector<ReferenceExp> directRefs
          ReferenceExps which are referenced from this pattern directly (without having ElementExp in between.)
 boolean haveHead
          This field is set to true once the head declaration is found.
 Vector<ReferenceExp> indirectRefs
          ReferenceExps which are referenced from this pattern indirectly (with ElementExp in between.)
static RELAXNGReader.RefExpParseInfo.RedefinitionStatus notBeingRedefined
          This named pattern is not being redefined.
static RELAXNGReader.RefExpParseInfo.RedefinitionStatus originalFound
          The same as originalNotFoundYet, but we saw the original definition.
static RELAXNGReader.RefExpParseInfo.RedefinitionStatus originalNotFoundYet
          This named pattern is being redefined.
 RELAXNGReader.RefExpParseInfo.RedefinitionStatus redefinition
          Current redefinition status.
 
Constructor Summary
protected RELAXNGReader.RefExpParseInfo()
           
 
Method Summary
 void set(RELAXNGReader.RefExpParseInfo rhs)
          Copies the contents of rhs into this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

haveHead

public boolean haveHead
This field is set to true once the head declaration is found. A head declaration is a define element without the combine attribute. It is an error that two head declarations share the same name.


combineMethod

public String combineMethod
The combine method which is used to combine this pattern. this field is set to null if combine attribute is not yet used.


notBeingRedefined

public static RELAXNGReader.RefExpParseInfo.RedefinitionStatus notBeingRedefined
This named pattern is not being redefined. So it will be a part of the grammar.


originalNotFoundYet

public static RELAXNGReader.RefExpParseInfo.RedefinitionStatus originalNotFoundYet
This named pattern is being redefined. So even if we'll see some <define> with this name, it will not be a part of the grammar. This state means that we don't yet see the definition of the original. We need to issue an error if the pattern is redefined but there is no original in the included grammar.


originalFound

public static RELAXNGReader.RefExpParseInfo.RedefinitionStatus originalFound
The same as originalNotFoundYet, but we saw the original definition.


redefinition

public RELAXNGReader.RefExpParseInfo.RedefinitionStatus redefinition
Current redefinition status.


directRefs

public final Vector<ReferenceExp> directRefs
ReferenceExps which are referenced from this pattern directly (without having ElementExp in between.)

This is used to detect recursive self reference errors.


indirectRefs

public final Vector<ReferenceExp> indirectRefs
ReferenceExps which are referenced from this pattern indirectly (with ElementExp in between.)

Constructor Detail

RELAXNGReader.RefExpParseInfo

protected RELAXNGReader.RefExpParseInfo()
Method Detail

set

public void set(RELAXNGReader.RefExpParseInfo rhs)
Copies the contents of rhs into this object.



MSV