/* * 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; }