package com.thaiopensource.relaxng.pattern;

import org.relaxng.datatype.Datatype;
import org.relaxng.datatype.DatatypeBuilder;
import org.relaxng.datatype.DatatypeException;
import org.relaxng.datatype.DatatypeLibrary;

public class BuiltinDatatypeLibrary implements DatatypeLibrary {
  private final DatatypeBuilder tokenDatatypeBuilder
    = new BuiltinDatatypeBuilder(new TokenDatatype());
  private final DatatypeBuilder stringDatatypeBuilder
    = new BuiltinDatatypeBuilder(new StringDatatype());
  public DatatypeBuilder createDatatypeBuilder(String type)
    throws DatatypeException {
    if (type.equals("token"))
      return tokenDatatypeBuilder;
    else if (type.equals("string"))
      return stringDatatypeBuilder;
    throw new DatatypeException();
  }
  public Datatype createDatatype(String type) throws DatatypeException {
    return createDatatypeBuilder(type).createDatatype();
  }
}
