Woolpack API

woolpack.sql.tx
クラス SqlTxUtils

java.lang.Object
  上位を拡張 woolpack.sql.tx.SqlTxUtils

public class SqlTxUtils
extends java.lang.Object

RDBトランザクション制御のユーティリティです。 型推論で表記を簡略するためのスタティックメソッドを含みます。

作成者:
nakamura

メソッドの概要
static
<C,R> Fn<C,R,java.sql.SQLException>
commit(javax.sql.DataSource dataSource)
          DataSourceからConnectionを取得して Connection.commit()を呼び出す関数を生成します。
static
<C,R> Fn<C,R,java.sql.SQLException>
rollback(javax.sql.DataSource dataSource)
          DataSourceからConnectionを取得して Connection.rollback()を呼び出す関数を生成します。
static
<C,R> Fn<C,R,java.lang.Exception>
tx(javax.sql.DataSource dataSource, Fn<? super C,? extends R,java.lang.Exception> fn)
          RDBとのトランザクションのブロックを処理する関数を生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

tx

public static <C,R> Fn<C,R,java.lang.Exception> tx(javax.sql.DataSource dataSource,
                                                   Fn<? super C,? extends R,java.lang.Exception> fn)
RDBとのトランザクションのブロックを処理する関数を生成します。 TxBuilder.getTxDataSource()と組み合わせて使用します。 Fn.exec(Object)DataSource.getConnection()を 実行して処理を委譲先に委譲します。 委譲先から例外を受け取った場合はConnection.rollback()を呼び出します。 最後にConnection.close()を呼び出します。 このクラスのメソッドは最初に発生した例外を再スローするため、メソッド内で続けて発生した例外の情報は失われます。
適用しているデザインパターン:Before After。

型パラメータ:
C -
R -
パラメータ:
dataSource - データソース。
fn - 委譲先。
戻り値:
関数。

rollback

public static <C,R> Fn<C,R,java.sql.SQLException> rollback(javax.sql.DataSource dataSource)
DataSourceからConnectionを取得して Connection.rollback()を呼び出す関数を生成します。 TxBuilder.getTmpDataSource()と組み合わせて使用します。

型パラメータ:
C -
R -
パラメータ:
dataSource - データソース。
戻り値:
関数。

commit

public static <C,R> Fn<C,R,java.sql.SQLException> commit(javax.sql.DataSource dataSource)
DataSourceからConnectionを取得して Connection.commit()を呼び出す関数を生成します。 TxBuilder.getTmpDataSource()と組み合わせて使用します。

型パラメータ:
C -
R -
パラメータ:
dataSource - データソース。
戻り値:
関数。

Woolpack API

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.