1 package com.thaiopensource.validate; 2 3 import com.thaiopensource.validate.SchemaReader; 4 5 /** 6 * A factory for SchemaReader. A class that implements this interface can be 7 * automatically discovered by SchemaReaderLoader, if it has 8 * a 0-argument constructor and if its name is listed in the file 9 * <code>META-INF/services/com.thaiopensource.validate.SchemaReaderFactory</code>. 10 * 11 * @see SchemaReaderLoader 12 * @see SchemaReader 13 */ 14 public interface SchemaReaderFactory { 15 /** 16 * Creates a SchemaReader for a particular schema language. 17 * 18 * @param namespaceUri a String identifing the schema language; must not be <code>null</code>; 19 * for schema languages that use XML, this should be the namespace URI 20 * of the root element if the root element has a non-absent namespace URI 21 * 22 * @return a SchemaReader for the specified schema language, or <code>null</code>, 23 * if this SchemaReaderFactory cannot create a SchemaReader for the specified 24 * schema language 25 */ 26 public SchemaReader createSchemaReader(String namespaceUri); 27 28 Option getOption(String uri); 29 } 30