クラス AllocatableIdGenerator
- java.lang.Object
-
- com.github.mygreen.sqlmapper.core.id.AllocatableIdGenerator
-
- 直系の既知のサブクラス:
TableIdIncrementer
public abstract class AllocatableIdGenerator extends Object
挿入前に予めIDを生成を行うID生成を行う抽象クラスです。大量にレコードを導入するときは効率的に処理を行うことができます。
ただし、予めIDを生成してキャッシュしておくため、プロセスを再起動すると生成済みのキャッシュされたIDは使われず欠番となります。
- バージョン:
- 0.3
- 作成者:
- T.TSUCHIE
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 classAllocatableIdGenerator.AllocatedIdContext割り当てられたIDの情報を保持する。
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 protected Map<String,AllocatableIdGenerator.AllocatedIdContext>allocatedIdCache割り当てているIDのキャッシュ。protected longallocationSize割り当てサイズ
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 AllocatableIdGenerator(long allocationSize)
-
メソッドの概要
すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected abstract longallocateValue(String key, long allocationSize)新たに値を割り当てる。protected voidclear(String key)IDのキャッシュ情報をクリアします。longgetAllocationSize()割り当てサイズprotected abstract longgetCurrentValue(String key)現在のカウンターの値を取得する。longnextValue(String key)新しいIDを取得します。
-
-
-
フィールドの詳細
-
allocationSize
protected final long allocationSize
割り当てサイズ
-
allocatedIdCache
protected Map<String,AllocatableIdGenerator.AllocatedIdContext> allocatedIdCache
割り当てているIDのキャッシュ。
-
-
メソッドの詳細
-
getCurrentValue
protected abstract long getCurrentValue(String key)
現在のカウンターの値を取得する。- パラメータ:
key- 取得するシーケンス名- 戻り値:
- 現在のカウンターの値
-
allocateValue
protected abstract long allocateValue(String key, long allocationSize)
新たに値を割り当てる。- パラメータ:
key- 割り当てるキーの名称allocationSize- 割り当てる値- 戻り値:
- 割り当て後のカウンターの値
-
nextValue
public long nextValue(String key)
新しいIDを取得します。- パラメータ:
key- シーケンス名- 戻り値:
- 新たらしいID
-
clear
protected void clear(String key)
IDのキャッシュ情報をクリアします。クリアすることで、次回、
nextValue(String)を呼び出した時に、最新のDBの情報を反映した状態になります。- パラメータ:
key- 割り当てるキーの名称- 導入されたバージョン:
- 0.3
-
getAllocationSize
public long getAllocationSize()
割り当てサイズ
-
-