001package org.itsallcode.jdbc.dialect;
002
003import java.util.Locale;
004
005/**
006 * Base class for implementing a {@link DbDialect}.
007 */
008public abstract class AbstractDbDialect implements DbDialect {
009    private final String jdbcUrlPrefix;
010
011    /**
012     * Create a new instance.
013     * 
014     * @param jdbcUrlPrefix the JDBC URL prefix supported by this dialect
015     */
016    protected AbstractDbDialect(final String jdbcUrlPrefix) {
017        this.jdbcUrlPrefix = jdbcUrlPrefix.toLowerCase(Locale.ROOT);
018    }
019
020    @Override
021    public boolean supportsUrl(final String jdbcUrl) {
022        return jdbcUrl.toLowerCase(Locale.ROOT).startsWith(jdbcUrlPrefix);
023    }
024}