org.seasar.doma.jdbc.id
クラス AbstractPreGenerateIdGenerator

java.lang.Object
  上位を拡張 org.seasar.doma.jdbc.id.AbstractIdGenerator
      上位を拡張 org.seasar.doma.jdbc.id.AbstractPreGenerateIdGenerator
すべての実装されたインタフェース:
IdGenerator
直系の既知のサブクラス:
BuiltinSequenceIdGenerator, BuiltinTableIdGenerator

public abstract class AbstractPreGenerateIdGenerator
extends AbstractIdGenerator

INSERT文の実行前に識別子を生成するジェネレータの骨格実装です。

作成者:
taedium

入れ子のクラスの概要
 class AbstractPreGenerateIdGenerator.IdContext
          識別子コンテキストです。
 
フィールドの概要
protected  long allocationSize
          割り当てサイズ
protected  ConcurrentMap<String,AbstractPreGenerateIdGenerator.IdContext> idContextMap
          データソース名をキー、識別子コンテキストを値とするマップ
protected  long initialValue
          初期値
 
コンストラクタの概要
AbstractPreGenerateIdGenerator()
           
 
メソッドの概要
 Long generatePostInsert(IdGenerationConfig config, Statement statement)
          INSERTの実行後に識別子を生成します。
 Long generatePreInsert(IdGenerationConfig config)
          INSERTの実行前に識別子を生成します。
protected  AbstractPreGenerateIdGenerator.IdContext getIdContext(IdGenerationConfig config)
          識別子コンテキストを返します。
protected abstract  long getNewInitialValue(IdGenerationConfig config)
          新しい初期値を返します。
 boolean includesIdentityColumn(IdGenerationConfig config)
          INSERT文にIDENTITYカラムを含めるべきかどうかを返します。
 void setAllocationSize(long allocationSize)
          割り当てサイズを設定します。
 void setInitialValue(long initialValue)
          初期値を設定します。
 boolean supportsAutoGeneratedKeys(IdGenerationConfig config)
          Statement.getGeneratedKeys() をサポートしているかどうかを返します。
 boolean supportsBatch(IdGenerationConfig config)
          バッチ処理をサポートしているかどうかを返します。
 
クラス org.seasar.doma.jdbc.id.AbstractIdGenerator から継承されたメソッド
getGeneratedValue, getGeneratedValue, setupOptions
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.seasar.doma.jdbc.id.IdGenerator から継承されたメソッド
getGenerationType
 

フィールドの詳細

initialValue

protected long initialValue
初期値


allocationSize

protected long allocationSize
割り当てサイズ


idContextMap

protected ConcurrentMap<String,AbstractPreGenerateIdGenerator.IdContext> idContextMap
データソース名をキー、識別子コンテキストを値とするマップ

コンストラクタの詳細

AbstractPreGenerateIdGenerator

public AbstractPreGenerateIdGenerator()
メソッドの詳細

setInitialValue

public void setInitialValue(long initialValue)
初期値を設定します。

パラメータ:
initialValue - 初期値

setAllocationSize

public void setAllocationSize(long allocationSize)
割り当てサイズを設定します。

パラメータ:
allocationSize - 割り当てサイズ

supportsBatch

public boolean supportsBatch(IdGenerationConfig config)
インタフェース IdGenerator の記述:
バッチ処理をサポートしているかどうかを返します。

パラメータ:
config - 識別子生成の設定
戻り値:
サポートしている場合 true

supportsAutoGeneratedKeys

public boolean supportsAutoGeneratedKeys(IdGenerationConfig config)
インタフェース IdGenerator の記述:
Statement.getGeneratedKeys() をサポートしているかどうかを返します。

パラメータ:
config - 識別子生成の設定
戻り値:
サポートしている場合 true

includesIdentityColumn

public boolean includesIdentityColumn(IdGenerationConfig config)
インタフェース IdGenerator の記述:
INSERT文にIDENTITYカラムを含めるべきかどうかを返します。

パラメータ:
config - 識別子生成の設定
戻り値:
サポートしている場合 true

generatePreInsert

public Long generatePreInsert(IdGenerationConfig config)
インタフェース IdGenerator の記述:
INSERTの実行前に識別子を生成します。

パラメータ:
config - 識別子生成の設定
戻り値:
生成された識別子、サポートしていない場合 null

generatePostInsert

public Long generatePostInsert(IdGenerationConfig config,
                               Statement statement)
インタフェース IdGenerator の記述:
INSERTの実行後に識別子を生成します。

パラメータ:
config - 識別子生成の設定
statement - INSERT文を実行した文
戻り値:
生成された識別子、サポートしていない場合 null

getIdContext

protected AbstractPreGenerateIdGenerator.IdContext getIdContext(IdGenerationConfig config)
識別子コンテキストを返します。

パラメータ:
config - 識別子生成の設定
戻り値:
識別子コンテキスト

getNewInitialValue

protected abstract long getNewInitialValue(IdGenerationConfig config)
新しい初期値を返します。

パラメータ:
config - 識別子生成の設定
戻り値:
新しい初期値
例外:
JdbcException - 新しい初期値の取得に失敗した場合


Copyright © 2009-2014 The Seasar Foundation. All Rights Reserved.