package org.itscool.weber.testcase;

import java.sql.SQLException;

import org.itscool.commons.connection.Records;
import org.itscool.commons.connection.Transaction;
import org.itscool.commons.connection.TransactionException;

public class MockTransaction extends Transaction{
	/**
     * トランザクションの初期化を行います
     */
    public MockTransaction(){
        super(null);
    }
    
    public void setShowSql(boolean showSql){
        
    }
    
    /**
     * コミットを行います<BR>
     * @throws SQLException
     */
    public void commit() throws TransactionException{
        
    }
    
    /**
     * ロールバック処理を行います
     * @throws SQLException
     */
    public void rollback() throws TransactionException{
        
    }
    
    /**
     * Statement.executeUpdate(sql)を実行します
     * @param sql SQL
     * @throws SQLException
     */
    public int execute(String sql) throws TransactionException{
        return 0;
    }
    
    /**
     * SELECTステートメントを発行します<BR>
     * 実行結果はLinkedListで返します<BR>
     * 又一つのレコードはHashMap形式となっており、フィールド名の別名（AS句で指定
     * した名前）がHashMapのキーとなります。
     * フィールドの別名が指定されていない場合はフィールド名がHashMapのキーとなり
     * ます（select句ではAS句を使ってフィールドの別名を使用することを推奨します）。
     * @param sql SQL
     * @return 実行結果をLinkedListで返します。
     * @throws SQLException
     */
    public Records select(String sql) throws TransactionException{
        Records result = new Records();
        
        return result;
    }

    /**
     * コネクションを閉じます
     * @throws SQLException
     */
    public void close() throws TransactionException{
        
    }
    
    public boolean isClosed() throws TransactionException{
    	
    	return false;
    }

}
