001 package com.thaiopensource.validate.auto;
002
003 import com.thaiopensource.util.PropertyMap;
004 import com.thaiopensource.util.Service;
005 import com.thaiopensource.validate.auto.SchemaReceiver;
006 import com.thaiopensource.validate.auto.SchemaReceiverFactory;
007 import com.thaiopensource.validate.Option;
008
009 import java.util.Enumeration;
010
011 public class SchemaReceiverLoader implements SchemaReceiverFactory {
012 private final Service service = new Service(SchemaReceiverFactory.class);
013 public SchemaReceiver createSchemaReceiver(String namespaceUri,
014 PropertyMap properties) {
015 for (Enumeration en = service.getProviders(); en.hasMoreElements();) {
016 SchemaReceiverFactory srf = (SchemaReceiverFactory)en.nextElement();
017 SchemaReceiver sr = srf.createSchemaReceiver(namespaceUri, properties);
018 if (sr != null)
019 return sr;
020 }
021 return null;
022 }
023
024 public Option getOption(String uri) {
025 for (Enumeration en = service.getProviders(); en.hasMoreElements();) {
026 SchemaReceiverFactory srf = (SchemaReceiverFactory)en.nextElement();
027 Option option = srf.getOption(uri);
028 if (option != null)
029 return option;
030 }
031 return null;
032 }
033
034 }