com.thaiopensource.relaxng.pattern.IntersectionNameClassNormalizer 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;
import com.thaiopensource.xml.util.Name;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* Computes the normalized intersection of zero or more name classes.
*/
public class IntersectionNameClassNormalizer extends AbstractNameClassNormalizer {
private final List nameClasses = new ArrayList();
public void add(NameClass nc) {
nameClasses.add(nc);
}
protected void accept(NameClassVisitor visitor) {
for (NameClass nameClass : nameClasses)
(nameClass).accept(visitor);
}
protected boolean contains(Name name) {
Iterator iter = nameClasses.iterator();
if (!iter.hasNext())
return false;
for (;;) {
if (!(iter.next()).contains(name))
return false;
if (!iter.hasNext())
break;
}
return true;
}
}