/*
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
*/
|
package com.megatim.queryadhoc.connection.abtracts;
|
|
import com.megatim.queryadhoc.exceptions.ConnectionException;
|
import com.megatim.queryadhoc.exceptions.ConnectionParameterException;
|
import com.megatim.queryadhoc.exceptions.NotSupportedDataBaseException;
|
import com.megatim.queryadhoc.factory.DbConnectionFactory;
|
import com.megatim.queryadhoc.model.ConnectionParameter;
|
import com.megatim.queryadhoc.validators.ConnectionParameterValidator;
|
import java.sql.Connection;
|
|
/**
|
*
|
* @author ASUS
|
*/
|
public abstract class DataBaseConnection {
|
|
protected final ConnectionParameter connectionParameter;
|
protected Connection connection;
|
|
public DataBaseConnection(ConnectionParameter connectionParameter) {
|
this.connectionParameter = connectionParameter;
|
}
|
|
protected void checkConnectionParameter(ConnectionParameter connectionParameter) throws ConnectionParameterException {
|
new ConnectionParameterValidator().checkConnectionParameter(connectionParameter);
|
}
|
|
public ConnectionParameter getConnectionParameter() {
|
return connectionParameter;
|
}
|
|
public void closeConnection() throws ConnectionException {
|
DbConnectionFactory.closeConnection(connection);
|
}
|
|
public abstract Connection getConnection() throws ConnectionParameterException, NotSupportedDataBaseException, ConnectionException;
|
}
|