package org.kohsuke.bali.datatype;
import java.util.ArrayList;
import java.util.List;
import org.relaxng.datatype.Datatype;
import org.relaxng.datatype.DatatypeBuilder;
import org.relaxng.datatype.DatatypeException;
import org.relaxng.datatype.DatatypeLibrary;
import org.relaxng.datatype.ValidationContext;
/**
*
*
* @author Kohsuke Kawaguchi (kk@kohsuke.org)
*/
class DatatypeBuilderImpl implements DatatypeBuilder {
DatatypeBuilderImpl( String nsURI, String dtName, DatatypeBuilder realBuilder ) {
this.nsURI = nsURI;
this.dtName = dtName;
this.realBuilder = realBuilder;
}
private final DatatypeBuilder realBuilder;
private final String nsURI,dtName;
public void addParameter(String name, String value, ValidationContext context)
throws DatatypeException {
ValidationContextImpl vcimpl = new ValidationContextImpl(context);
realBuilder.addParameter(name,value,vcimpl);
parameters.add( new Parameter(name,value,vcimpl) );
}
private List parameters = new ArrayList();
public Datatype createDatatype() throws DatatypeException {
return new DatatypeImpl( nsURI, dtName, new ArrayList(parameters), realBuilder.createDatatype() );
}
}