woolpack.sql.tx
クラス TxFn<C,R>
java.lang.Object
woolpack.sql.tx.TxFn<C,R>
- 型パラメータ:
C
- R
-
- すべての実装されたインタフェース:
- Fn<C,R,java.lang.Exception>
public class TxFn<C,R>
- extends java.lang.Object
- implements Fn<C,R,java.lang.Exception>
RDBとのトランザクションのブロックを処理するFn
です。
TxBuilder.getTxDataSource()
と組み合わせて使用します。
exec(Object)
はDataSource.getConnection()
を実行して
処理を委譲先に委譲します。
委譲先からRuntimeException
を受け取った場合はConnection.rollback()
を呼び出します。
最後にConnection.close()
を呼び出します。
このクラスのメソッドは最初に発生した例外を再スローするため、メソッド内で続けて発生した例外の情報は失われます。
適用しているデザインパターン:Before After。
- 作成者:
- nakamura
コンストラクタの概要 |
TxFn(javax.sql.DataSource dataSource,
Fn<? super C,? extends R,? extends java.lang.Exception> fn)
|
メソッドの概要 |
R |
exec(C c)
関数を実行します。 |
javax.sql.DataSource |
getDataSource()
|
Fn<? super C,? extends R,? extends java.lang.Exception> |
getFn()
|
void |
setDataSource(javax.sql.DataSource dataSource)
|
void |
setFn(Fn<? super C,? extends R,? extends java.lang.Exception> fn)
|
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TxFn
public TxFn(javax.sql.DataSource dataSource,
Fn<? super C,? extends R,? extends java.lang.Exception> fn)
exec
public R exec(C c)
throws java.lang.Exception
- インタフェース
Fn
の記述:
- 関数を実行します。
- 定義:
- インタフェース
Fn<C,R,java.lang.Exception>
内の exec
- パラメータ:
c
- コンテキスト役。
- 戻り値:
- 返却値。
- 例外:
java.lang.Exception
getDataSource
public javax.sql.DataSource getDataSource()
setDataSource
public void setDataSource(javax.sql.DataSource dataSource)
getFn
public Fn<? super C,? extends R,? extends java.lang.Exception> getFn()
setFn
public void setFn(Fn<? super C,? extends R,? extends java.lang.Exception> fn)
Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.