
org.kohsuke.rngom.binary.DataPattern Maven / Gradle / Ivy
Go to download
Old JAXB Binding Compiler. Contains source code needed for binding customization files into java sources.
In other words: the *tool* to generate java classes for the given xml representation.
package org.kohsuke.rngom.binary;
import org.kohsuke.rngom.binary.visitor.PatternFunction;
import org.kohsuke.rngom.binary.visitor.PatternVisitor;
import org.relaxng.datatype.Datatype;
public class DataPattern extends StringPattern {
private Datatype dt;
DataPattern(Datatype dt) {
super(combineHashCode(DATA_HASH_CODE, dt.hashCode()));
this.dt = dt;
}
boolean samePattern(Pattern other) {
if (other.getClass() != this.getClass())
return false;
return dt.equals(((DataPattern)other).dt);
}
public void accept(PatternVisitor visitor) {
visitor.visitData(dt);
}
public Object apply(PatternFunction f) {
return f.caseData(this);
}
Datatype getDatatype() {
return dt;
}
boolean allowsAnyString() {
return false;
// return dt instanceof Datatype2 && ((Datatype2)dt).alwaysValid();
}
void checkRestrictions(int context, DuplicateAttributeDetector dad, Alphabet alpha)
throws RestrictionViolationException {
switch (context) {
case START_CONTEXT:
throw new RestrictionViolationException("start_contains_data");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy