class PsqlEventSource implements EventSource {

    @Override public boolean isConnected() {
        try {
            return isConnectionOpen(connection) &&
                    isConnectionAlive(connection);
        } catch (SQLException sqle) {
            throw new DataAccessException(ERROR_MSG_CHECK_CONNECTION, sqle);
        }
    }

    public  PsqlEventSource(String dbUrl, String username, String password, String tableName);
    public  PsqlEventSource(String dbUrl, String username, String password, String tableName, boolean autoConfig);
    public  PsqlEventSource(ConnectionProvider connectionProvider, String tableName);
    public  PsqlEventSource(ConnectionProvider connectionProvider, String tableName, boolean autoConfig);
    @VisibleForTesting  PsqlEventSource(ConnectionProvider connectionProvider, String tableName, PsqlEventMapper mapper,
                                       boolean autoConfig);
    @VisibleForTesting public  PsqlEventSource(ConnectionProvider connectionProvider, String tableName, PsqlEventMapper mapper,
                           boolean autoConfig, PsqlConfigurator configurator);

}