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}