1 package org.relaxng.datatype; 2 3 /** 4 * A Datatype library 5 * 6 * @author <a HREF="mailto:jjc@jclark.com">James Clark</a> 7 * @author <a HREF="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a> 8 */ 9 public interface DatatypeLibrary { 10 11 /** 12 * Creates a new instance of DatatypeBuilder. 13 * 14 * The callee should throw a DatatypeException in case of an error. 15 * 16 * @param baseTypeLocalName 17 * The local name of the base type. 18 * 19 * @return 20 * A non-null valid datatype object. 21 */ 22 DatatypeBuilder createDatatypeBuilder( String baseTypeLocalName ) 23 throws DatatypeException; 24 25 /** 26 * Gets or creates a pre-defined type. 27 * 28 * This is just a short-cut of 29 * <code>createDatatypeBuilder(typeLocalName).createDatatype();</code> 30 * 31 * The callee should throw a DatatypeException in case of an error. 32 * 33 * @return 34 * A non-null valid datatype object. 35 */ 36 Datatype createDatatype( String typeLocalName ) throws DatatypeException; 37 } 38