001 package com.thaiopensource.validate.auto;
002
003 import com.thaiopensource.util.PropertyMap;
004 import com.thaiopensource.validate.IncorrectSchemaException;
005 import com.thaiopensource.validate.Schema;
006 import com.thaiopensource.validate.SchemaReader;
007 import com.thaiopensource.validate.auto.ReparseException;
008 import com.thaiopensource.validate.auto.SchemaFuture;
009 import org.xml.sax.InputSource;
010 import org.xml.sax.SAXException;
011 import org.xml.sax.XMLReader;
012
013 import java.io.IOException;
014
015 public class SchemaReaderSchemaReceiver implements SchemaReceiver {
016 private final SchemaReader schemaLanguage;
017 private final PropertyMap properties;
018
019 public SchemaReaderSchemaReceiver(SchemaReader schemaLanguage, PropertyMap properties) {
020 this.schemaLanguage = schemaLanguage;
021 this.properties = properties;
022 }
023
024 public SchemaFuture installHandlers(XMLReader xr) throws SAXException {
025 throw new ReparseException() {
026 public Schema reparse(InputSource in) throws IncorrectSchemaException, SAXException, IOException {
027 return schemaLanguage.createSchema(in, properties);
028 }
029 };
030 }
031 }