org.kohsuke.rngom.digested.DGrammarPattern 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.digested;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* <grammar> pattern, which is a collection of named patterns.
*
* @author Kohsuke Kawaguchi ([email protected])
*/
public class DGrammarPattern extends DPattern implements Iterable {
private final Map patterns = new HashMap();
DPattern start;
/**
* Gets the start pattern.
*/
public DPattern getStart() {
return start;
}
/**
* Gets the named pattern by its name.
*
* @return
* null if not found.
*/
public DDefine get( String name ) {
return patterns.get(name);
}
DDefine getOrAdd( String name ) {
if(patterns.containsKey(name)) {
return get(name);
} else {
DDefine d = new DDefine(name);
patterns.put(name,d);
return d;
}
}
/**
* Iterates all the {@link DDefine}s in this grammar.
*/
public Iterator iterator() {
return patterns.values().iterator();
}
public boolean isNullable() {
return start.isNullable();
}
public V accept( DPatternVisitor visitor ) {
return visitor.onGrammar(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy