com.thaiopensource.relaxng.pattern.ApplyAfterFunction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wicketstuff-jing Show documentation
Show all versions of wicketstuff-jing Show documentation
Jing is a validator for RELAX NG and other schema languages. This
project was taken from http://code.google.com/p/jing-trang and
mavenized for inclusion in the Wicket Stuff HTML Validator.
The code was taken from the 20091111 release.
package com.thaiopensource.relaxng.pattern;
abstract class ApplyAfterFunction extends AbstractPatternFunction {
private final ValidatorPatternBuilder builder;
ApplyAfterFunction(ValidatorPatternBuilder builder) {
this.builder = builder;
}
public Pattern caseAfter(AfterPattern p) {
return builder.makeAfter(p.getOperand1(), apply(p.getOperand2()));
}
public Pattern caseChoice(ChoicePattern p) {
return builder.makeChoice(p.getOperand1().apply(this),
p.getOperand2().apply(this));
}
public Pattern caseNotAllowed(NotAllowedPattern p) {
return p;
}
public Pattern caseOther(Pattern p) {
throw new AssertionError("ApplyAfterFunction applied to " + p.getClass().getName());
}
abstract Pattern apply(Pattern p);
}