package eu.esdihumboldt.hale.io.jdbc.spatialite;
import java.net.URI;
import eu.esdihumboldt.hale.io.jdbc.extension.URIBuilder;
/**
* Create JDBC URIs for SQLite/SpatiaLite.
*
* @author Stefano Costa, GeoSolutions
*/
public class SpatiaLiteURIBuilder implements URIBuilder {
private static final String PREFIX = "jdbc:sqlite:";
/**
* {@code host} parameter is ignored.
*/
@Override
public URI createJdbcUri(String host, String database) {
if (database == null || database.isEmpty()) {
throw new IllegalArgumentException("A database name must be provided");
}
return URI.create(PREFIX + database);
}
/**
* @param jdbcUri the JDBC URI
* @return the file system path to the SpatiaLite database
*/
public static String getDatabase(URI jdbcUri) {
if (jdbcUri == null) {
throw new IllegalArgumentException("JDBC URI must be provided");
}
return jdbcUri.toString().substring(PREFIX.length());
}
}