org.maachang.luxio
クラス TransactionLuxIo

java.lang.Object
  上位を拡張 org.maachang.luxio.TransactionLuxIo
すべての実装されたインタフェース:
LuxIo

public class TransactionLuxIo
extends java.lang.Object
implements LuxIo

トランザクション対応Lux IO.
Lux IOに対して、トランザクションに対応したオブジェクト.
利用方法は、トランザクション対応したいLuxIoImplをTransactionLuxIoオブジェクトに 設定するだけで、あとは、通常のLuxIoと同じように利用可能.
ただし、このオブジェクト自体から、LuxIoImplを破棄しないので、プログラム終了など 対象のLux IOを利用しなくなった場合は、LuxIoImpl#destroy()を直接実行する必要がある.
使い方としては、下記のように行うことで、トランザクション対応としてLux IOが利用できる.

 public static final void main( String[] args ) throws Exception {
     LuxIoImpl impl = new LuxIoImpl( "fileName" ) ;
     try {
         TransactionLuxIo tran = new TransactionLuxIo( impl ) ;
         tran.put( "test","hoge".getBytes() ) ;
         byte[] b = tran.get( "test" ) ;
         System.out.println( "[T]test=" + new String( b ) ) ;
         // ロールバック.
         tran.rollback() ;
         if( ( b = tran.get( "test" ) ) == null ) {
             System.out.println( "[R]test=なし" ) ;
         } else {
             System.out.println( "[R]test=" + new String( b ) ) ;
         }
         tran.clear() ;
     } finally {
         if( impl != null ) { impl.destroy() ; }
     }
 }
 
実行結果は[LuxIoImpl impl = new LuxIoImpl( "fileName" ) ;]でbidxを新規作成した場合、 以下の結果となる.

>[T]test=hoge
>[R]test=なし

導入されたバージョン:
Lux IO 0.1.0
バージョン:
2008/12/05
作成者:
masahito suzuki

コンストラクタの概要
TransactionLuxIo()
          コンストラクタ.
TransactionLuxIo(LuxIo luxio)
          コンストラクタ.
 
メソッドの概要
 void clear()
          オブジェクトクリア.
 void commit()
          コミット処理.
 void create(LuxIo luxio)
          オブジェクト生成.
 byte[] get(java.lang.String key)
          情報を取得.
 boolean isUse()
          オブジェクトが有効かチェック.
 void put(java.lang.String key, byte[] value)
          情報をセット.
 void remove(java.lang.String key)
          情報を削除.
 void rollback()
          ロールバック処理.
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TransactionLuxIo

public TransactionLuxIo()
コンストラクタ.


TransactionLuxIo

public TransactionLuxIo(LuxIo luxio)
                 throws java.lang.Exception
コンストラクタ.

パラメータ:
luxio - LuxIoオブジェクトを設定します.
例外:
java.lang.Exception - 例外.
メソッドの詳細

create

public void create(LuxIo luxio)
            throws java.lang.Exception
オブジェクト生成.

パラメータ:
luxio - LuxIoオブジェクトを設定します.
例外:
java.lang.Exception - 例外.

clear

public void clear()
オブジェクトクリア.


isUse

public boolean isUse()
オブジェクトが有効かチェック.

定義:
インタフェース LuxIo 内の isUse
戻り値:
boolean [true]の場合、有効です.

commit

public void commit()
            throws java.lang.Exception
コミット処理.

例外:
java.lang.Exception - 例外.

rollback

public void rollback()
              throws java.lang.Exception
ロールバック処理.

例外:
java.lang.Exception - 例外.

put

public void put(java.lang.String key,
                byte[] value)
         throws java.lang.Exception
情報をセット.

定義:
インタフェース LuxIo 内の put
パラメータ:
key - 対象のキーを設定します.
value - 対象の要素を設定します.
例外:
java.lang.Exception - 例外.

get

public byte[] get(java.lang.String key)
           throws java.lang.Exception
情報を取得.

定義:
インタフェース LuxIo 内の get
パラメータ:
key - 対象のキーを設定します.
戻り値:
byte[] 対象の要素が返されます.
例外:
java.lang.Exception - 例外.

remove

public void remove(java.lang.String key)
            throws java.lang.Exception
情報を削除.

定義:
インタフェース LuxIo 内の remove
パラメータ:
key - 対象のキーを設定します.
例外:
java.lang.Exception - 例外.