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 }