001 package com.thaiopensource.relaxng.impl;
002
003 class EmptyPattern extends Pattern {
004 EmptyPattern() {
005 super(true, EMPTY_CONTENT_TYPE, EMPTY_HASH_CODE);
006 }
007 boolean samePattern(Pattern other) {
008 return other instanceof EmptyPattern;
009 }
010 void accept(PatternVisitor visitor) {
011 visitor.visitEmpty();
012 }
013 Object apply(PatternFunction f) {
014 return f.caseEmpty(this);
015 }
016 void checkRestrictions(int context, DuplicateAttributeDetector dad, Alphabet alpha)
017 throws RestrictionViolationException {
018 switch (context) {
019 case DATA_EXCEPT_CONTEXT:
020 throw new RestrictionViolationException("data_except_contains_empty");
021 case START_CONTEXT:
022 throw new RestrictionViolationException("start_contains_empty");
023 }
024 }
025 }