com.thaiopensource.relaxng.impl
Class Pattern

java.lang.Object
  extended by com.thaiopensource.relaxng.impl.Pattern
All Implemented Interfaces:
ParsedPattern
Direct Known Subclasses:
AttributePattern, BinaryPattern, ElementPattern, EmptyPattern, ErrorPattern, ListPattern, NotAllowedPattern, OneOrMorePattern, RefPattern, StringPattern, TextPattern

public abstract class Pattern
extends Object
implements ParsedPattern


Field Summary
(package private) static int AFTER_HASH_CODE
           
(package private) static int ATTRIBUTE_CONTEXT
           
(package private) static int ATTRIBUTE_HASH_CODE
           
(package private) static int CHOICE_HASH_CODE
           
private  int contentType
           
(package private) static int DATA_CONTENT_TYPE
           
(package private) static int DATA_EXCEPT_CONTEXT
           
(package private) static int DATA_HASH_CODE
           
(package private) static int ELEMENT_CONTENT_TYPE
           
(package private) static int ELEMENT_CONTEXT
           
(package private) static int ELEMENT_HASH_CODE
           
(package private) static int ELEMENT_REPEAT_CONTEXT
           
(package private) static int ELEMENT_REPEAT_GROUP_CONTEXT
           
(package private) static int ELEMENT_REPEAT_INTERLEAVE_CONTEXT
           
(package private) static int EMPTY_CONTENT_TYPE
           
(package private) static int EMPTY_HASH_CODE
           
(package private) static int ERROR_HASH_CODE
           
(package private) static int GROUP_HASH_CODE
           
private  int hc
           
(package private) static int INTERLEAVE_HASH_CODE
           
(package private) static int LIST_CONTEXT
           
(package private) static int LIST_HASH_CODE
           
(package private) static int MIXED_CONTENT_TYPE
           
(package private) static int NOT_ALLOWED_HASH_CODE
           
private  boolean nullable
           
(package private) static int ONE_OR_MORE_HASH_CODE
           
(package private) static int START_CONTEXT
           
(package private) static int TEXT_HASH_CODE
           
(package private) static int VALUE_HASH_CODE
           
 
Constructor Summary
Pattern()
           
Pattern(boolean nullable, int contentType, int hc)
           
 
Method Summary
(package private) abstract  void accept(PatternVisitor visitor)
           
(package private) abstract  Object apply(PatternFunction f)
           
(package private)  Pattern applyForPattern(PatternFunction f)
           
(package private)  void checkRecursion(int depth)
           
(package private)  void checkRestrictions(int context, DuplicateAttributeDetector dad, Alphabet alpha)
           
(package private) static int combineHashCode(int hc1, int hc2)
           
(package private) static int combineHashCode(int hc1, int hc2, int hc3)
           
(package private)  boolean containsChoice(Pattern p)
           
(package private) static boolean contentTypeGroupable(int ct1, int ct2)
           
(package private)  Pattern expand(SchemaPatternBuilder b)
           
(package private)  int getContentType()
           
(package private)  boolean isNotAllowed()
           
(package private)  boolean isNullable()
           
(package private)  int patternHashCode()
           
(package private) abstract  boolean samePattern(Pattern other)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nullable

private final boolean nullable

hc

private final int hc

contentType

private final int contentType

TEXT_HASH_CODE

static final int TEXT_HASH_CODE
See Also:
Constant Field Values

ERROR_HASH_CODE

static final int ERROR_HASH_CODE
See Also:
Constant Field Values

EMPTY_HASH_CODE

static final int EMPTY_HASH_CODE
See Also:
Constant Field Values

NOT_ALLOWED_HASH_CODE

static final int NOT_ALLOWED_HASH_CODE
See Also:
Constant Field Values

CHOICE_HASH_CODE

static final int CHOICE_HASH_CODE
See Also:
Constant Field Values

GROUP_HASH_CODE

static final int GROUP_HASH_CODE
See Also:
Constant Field Values

INTERLEAVE_HASH_CODE

static final int INTERLEAVE_HASH_CODE
See Also:
Constant Field Values

ONE_OR_MORE_HASH_CODE

static final int ONE_OR_MORE_HASH_CODE
See Also:
Constant Field Values

ELEMENT_HASH_CODE

static final int ELEMENT_HASH_CODE
See Also:
Constant Field Values

VALUE_HASH_CODE

static final int VALUE_HASH_CODE
See Also:
Constant Field Values

ATTRIBUTE_HASH_CODE

static final int ATTRIBUTE_HASH_CODE
See Also:
Constant Field Values

DATA_HASH_CODE

static final int DATA_HASH_CODE
See Also:
Constant Field Values

LIST_HASH_CODE

static final int LIST_HASH_CODE
See Also:
Constant Field Values

AFTER_HASH_CODE

static final int AFTER_HASH_CODE
See Also:
Constant Field Values

EMPTY_CONTENT_TYPE

static final int EMPTY_CONTENT_TYPE
See Also:
Constant Field Values

ELEMENT_CONTENT_TYPE

static final int ELEMENT_CONTENT_TYPE
See Also:
Constant Field Values

MIXED_CONTENT_TYPE

static final int MIXED_CONTENT_TYPE
See Also:
Constant Field Values

DATA_CONTENT_TYPE

static final int DATA_CONTENT_TYPE
See Also:
Constant Field Values

START_CONTEXT

static final int START_CONTEXT
See Also:
Constant Field Values

ELEMENT_CONTEXT

static final int ELEMENT_CONTEXT
See Also:
Constant Field Values

ELEMENT_REPEAT_CONTEXT

static final int ELEMENT_REPEAT_CONTEXT
See Also:
Constant Field Values

ELEMENT_REPEAT_GROUP_CONTEXT

static final int ELEMENT_REPEAT_GROUP_CONTEXT
See Also:
Constant Field Values

ELEMENT_REPEAT_INTERLEAVE_CONTEXT

static final int ELEMENT_REPEAT_INTERLEAVE_CONTEXT
See Also:
Constant Field Values

ATTRIBUTE_CONTEXT

static final int ATTRIBUTE_CONTEXT
See Also:
Constant Field Values

LIST_CONTEXT

static final int LIST_CONTEXT
See Also:
Constant Field Values

DATA_EXCEPT_CONTEXT

static final int DATA_EXCEPT_CONTEXT
See Also:
Constant Field Values
Constructor Detail

Pattern

Pattern(boolean nullable,
        int contentType,
        int hc)

Pattern

Pattern()
Method Detail

combineHashCode

static int combineHashCode(int hc1,
                           int hc2,
                           int hc3)

combineHashCode

static int combineHashCode(int hc1,
                           int hc2)

checkRecursion

void checkRecursion(int depth)
              throws SAXException
Throws:
SAXException

expand

Pattern expand(SchemaPatternBuilder b)

isNullable

final boolean isNullable()

isNotAllowed

boolean isNotAllowed()

checkRestrictions

void checkRestrictions(int context,
                       DuplicateAttributeDetector dad,
                       Alphabet alpha)
                 throws RestrictionViolationException
Throws:
RestrictionViolationException

samePattern

abstract boolean samePattern(Pattern other)

patternHashCode

final int patternHashCode()

getContentType

final int getContentType()

containsChoice

boolean containsChoice(Pattern p)

accept

abstract void accept(PatternVisitor visitor)

apply

abstract Object apply(PatternFunction f)

applyForPattern

Pattern applyForPattern(PatternFunction f)

contentTypeGroupable

static boolean contentTypeGroupable(int ct1,
                                    int ct2)