org.seasar.extension.jdbc.id
クラス AbstractPreAllocateIdGenerator

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

public abstract class AbstractPreAllocateIdGenerator
extends AbstractIdGenerator

INSERT前に識別子を自動生成するIDジェネレータの抽象クラスです。

作成者:
koichik

入れ子のクラスの概要
 class AbstractPreAllocateIdGenerator.IdContext
          自動生成される識別子のコンテキスト情報を保持するクラスです。
 
フィールドの概要
protected  long allocationSize
          割り当てサイズ
protected static java.lang.String DEFAULT_ID_CONTEXT_KEY
          idContextMapに対するデフォルトのキー
protected  java.util.concurrent.ConcurrentMap<java.lang.String,AbstractPreAllocateIdGenerator.IdContext> idContextMap
          IDコンテキストのMap
 
クラス org.seasar.extension.jdbc.id.AbstractIdGenerator から継承されたフィールド
entityMeta, propertyMeta
 
コンストラクタの概要
AbstractPreAllocateIdGenerator(EntityMeta entityMeta, PropertyMeta propertyMeta, long allocationSize)
          インスタンスを構築します。
 
メソッドの概要
protected  AbstractPreAllocateIdGenerator.IdContext getIdContext(JdbcManagerImplementor jdbcManager)
          IDコンテキストを返します。
protected abstract  long getNewInitialValue(JdbcManagerImplementor jdbcManager, SqlLogger sqlLogger)
          次の初期値を返します。
 boolean isInsertInto(JdbcManagerImplementor jdbcManager)
          自動生成される識別子をINSERT文に含める場合はtrueを返します。
 void postInsert(JdbcManagerImplementor jdbcManager, java.lang.Object entity, java.sql.Statement statement, SqlLogger sqlLogger)
          INSERTの実行後処理を行います。
 java.lang.Object preInsert(JdbcManagerImplementor jdbcManager, java.lang.Object entity, SqlLogger sqlLogger)
          INSERTの実行前処理を行います。
 boolean supportBatch(JdbcManagerImplementor jdbcManager)
          このIDジェネレータがバッチ更新に対応している場合はtrueを返します。
 boolean useGetGeneratedKeys(JdbcManagerImplementor jdbcManager)
          生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrueを返します。
 
クラス org.seasar.extension.jdbc.id.AbstractIdGenerator から継承されたメソッド
getGeneratedId, setId
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_ID_CONTEXT_KEY

protected static java.lang.String DEFAULT_ID_CONTEXT_KEY
idContextMapに対するデフォルトのキー


allocationSize

protected final long allocationSize
割り当てサイズ


idContextMap

protected java.util.concurrent.ConcurrentMap<java.lang.String,AbstractPreAllocateIdGenerator.IdContext> idContextMap
IDコンテキストのMap

コンストラクタの詳細

AbstractPreAllocateIdGenerator

public AbstractPreAllocateIdGenerator(EntityMeta entityMeta,
                                      PropertyMeta propertyMeta,
                                      long allocationSize)
インスタンスを構築します。

パラメータ:
entityMeta - エンティティメタデータ
propertyMeta - プロパティメタデータ
allocationSize - 割り当てサイズ
メソッドの詳細

supportBatch

public boolean supportBatch(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
このIDジェネレータがバッチ更新に対応している場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
このIDジェネレータがバッチ更新に対応している場合はtrue

useGetGeneratedKeys

public boolean useGetGeneratedKeys(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
生成された識別子の値をStatement.getGeneratedKeys()で取得する場合はtrue

isInsertInto

public boolean isInsertInto(JdbcManagerImplementor jdbcManager)
インタフェース IdGenerator の記述:
自動生成される識別子をINSERT文に含める場合はtrueを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
自動生成される識別子をINSERT文に含める場合はtrue

preInsert

public java.lang.Object preInsert(JdbcManagerImplementor jdbcManager,
                                  java.lang.Object entity,
                                  SqlLogger sqlLogger)
インタフェース IdGenerator の記述:
INSERTの実行前処理を行います。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - INSERT対象のエンティティ
sqlLogger - SQLのロガー
戻り値:
INSERT文に渡すバインド変数の値

postInsert

public void postInsert(JdbcManagerImplementor jdbcManager,
                       java.lang.Object entity,
                       java.sql.Statement statement,
                       SqlLogger sqlLogger)
インタフェース IdGenerator の記述:
INSERTの実行後処理を行います。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - INSERT対象のエンティティ
statement - INSERT文を実行したStatement
sqlLogger - SQLのロガー

getIdContext

protected AbstractPreAllocateIdGenerator.IdContext getIdContext(JdbcManagerImplementor jdbcManager)
IDコンテキストを返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
戻り値:
IDコンテキスト

getNewInitialValue

protected abstract long getNewInitialValue(JdbcManagerImplementor jdbcManager,
                                           SqlLogger sqlLogger)
次の初期値を返します。

パラメータ:
jdbcManager - 内部的なJDBCマネージャ
sqlLogger - SQLロガー
戻り値:
次の初期値


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