/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
* \r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
return false;\r
}\r
\r
+ /**\r
+ * select sources which are implemented by instances of the given class\r
+ * @param class that implements DbSourceProxy\r
+ * @return null or vector of source names for fetchers\r
+ */\r
+ public String[] getDbInstances(Class class1)\r
+ {\r
+ if (!jalview.ws.seqfetcher.DbSourceProxy.class.isAssignableFrom(class1))\r
+ {\r
+ throw new Error("Implmentation Error - getDbInstances must be given a class that implements jalview.ws.seqfetcher.DbSourceProxy (was given '"+class1+"')");\r
+ }\r
+ if (FETCHABLEDBS==null)\r
+ {\r
+ return null;\r
+ }\r
+ String[] sources = null;\r
+ Vector src = new Vector();\r
+ Enumeration dbs = FETCHABLEDBS.keys();\r
+ while (dbs.hasMoreElements())\r
+ {\r
+ String dbn = (String) dbs.nextElement();\r
+ DbSourceProxy dbp = (DbSourceProxy) FETCHABLEDBS.get(dbn);\r
+ if (class1.isAssignableFrom(dbp.getClass()))\r
+ {\r
+ src.addElement(dbn);\r
+ }\r
+ }\r
+ if (src.size()>0)\r
+ {\r
+ src.copyInto(sources = new String[src.size()]);\r
+ }\r
+ return sources;\r
+ }\r
}\r