public static ReadOnlyDriver getDriver(DriverManager dm, String prefix) { String[] names = dm.getDriverNames(); for (int i = 0; i < names.length; i++) { Driver driver = dm.getDriver(names[i]); if (driver instanceof DBDriver) { DBDriver dbDriver = (DBDriver) driver; String[] prefixes = dbDriver.getPrefixes(); for (String driverPrefix : prefixes) { if (driverPrefix.toLowerCase().equals(prefix.toLowerCase())) { return dbDriver; } } } } throw new DriverLoadException("No suitable driver for " + prefix); }
public static ReadOnlyDriver getDriver(DriverManager dm, File file) { String[] names = dm.getDriverNames(); for (int i = 0; i < names.length; i++) { Driver driver = dm.getDriver(names[i]); if (driver instanceof FileDriver) { FileDriver fileDriver = (FileDriver) driver; String[] extensions = fileDriver.getFileExtensions(); for (String extension : extensions) { if (file.getAbsolutePath().toLowerCase().endsWith(extension.toLowerCase())) { return fileDriver; } } } } throw new DriverLoadException("No suitable driver for " + file.getAbsolutePath()); }