001    package com.thaiopensource.relaxng.impl;
002    
003    import org.relaxng.datatype.Datatype;
004    import org.relaxng.datatype.DatatypeBuilder;
005    import org.relaxng.datatype.DatatypeException;
006    import org.relaxng.datatype.DatatypeLibrary;
007    
008    public class BuiltinDatatypeLibrary implements DatatypeLibrary {
009      private final DatatypeBuilder tokenDatatypeBuilder
010        = new BuiltinDatatypeBuilder(new TokenDatatype());
011      private final DatatypeBuilder stringDatatypeBuilder
012        = new BuiltinDatatypeBuilder(new StringDatatype());
013      public DatatypeBuilder createDatatypeBuilder(String type)
014        throws DatatypeException {
015        if (type.equals("token"))
016          return tokenDatatypeBuilder;
017        else if (type.equals("string"))
018          return stringDatatypeBuilder;
019        throw new DatatypeException();
020      }
021      public Datatype createDatatype(String type) throws DatatypeException {
022        return createDatatypeBuilder(type).createDatatype();
023      }
024    }