org.kohsuke.rngom.binary.ValuePattern 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 ValuePattern extends StringPattern {
Object obj;
Datatype dt;
ValuePattern(Datatype dt, Object obj) {
super(combineHashCode(VALUE_HASH_CODE, obj.hashCode()));
this.dt = dt;
this.obj = obj;
}
boolean samePattern(Pattern other) {
if (getClass() != other.getClass())
return false;
if (!(other instanceof ValuePattern))
return false;
return (dt.equals(((ValuePattern)other).dt)
&& dt.sameValue(obj, ((ValuePattern)other).obj));
}
public void accept(PatternVisitor visitor) {
visitor.visitValue(dt, obj);
}
public Object apply(PatternFunction f) {
return f.caseValue(this);
}
void checkRestrictions(int context, DuplicateAttributeDetector dad, Alphabet alpha)
throws RestrictionViolationException {
switch (context) {
case START_CONTEXT:
throw new RestrictionViolationException("start_contains_value");
}
}
Datatype getDatatype() {
return dt;
}
Object getValue() {
return obj;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy