org.seasar.extension.jdbc.query
クラス AutoUpdateImpl<T>

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.query.AbstractQuery<S>
      上位を拡張 org.seasar.extension.jdbc.query.AbstractAutoUpdate<T,AutoUpdate<T>>
          上位を拡張 org.seasar.extension.jdbc.query.AutoUpdateImpl<T>
型パラメータ:
T - エンティティの型です。
すべての実装されたインタフェース:
AutoUpdate<T>, Query<AutoUpdate<T>>, SqlLogger, Update<AutoUpdate<T>>

public class AutoUpdateImpl<T>
extends AbstractAutoUpdate<T,AutoUpdate<T>>
implements AutoUpdate<T>

AutoUpdateの実装クラスです。

作成者:
koichik

フィールドの概要
protected  java.util.Map<java.lang.String,java.lang.Object> beforeStates
          更新前のプロパティの状態を持つMap
protected  boolean excludesNull
          null値のプロパティを更新から除外する場合true
protected  java.util.Set<java.lang.String> excludesProperties
          更新から除外するプロパティ
protected  java.util.Set<java.lang.String> includesProperties
          更新対象とするプロパティ
protected  boolean includeVersion
          バージョンプロパティを更新対象に含める場合true
protected  SetClause setClause
          set句
protected  java.util.List<PropertyMeta> targetProperties
          更新対象となるプロパティメタデータのList
protected static java.lang.String UPDATE_STATEMENT
          UDPATE文
protected  WhereClause whereClause
          where句
 
クラス org.seasar.extension.jdbc.query.AbstractAutoUpdate から継承されたフィールド
entity, entityMeta, suppresOptimisticLockException
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたフィールド
callerClass, callerMethodName, completed, executedSql, jdbcManager, logger, paramList, queryTimeout
 
コンストラクタの概要
AutoUpdateImpl(JdbcManagerImplementor jdbcManager, T entity)
           
 
メソッドの概要
 AutoUpdate<T> changedFrom(java.util.Map<java.lang.String,? extends java.lang.Object> beforeStates)
          beforeから変更のあったプロパティだけを更新対象とします。
 AutoUpdate<T> changedFrom(T beforeEntity)
          beforeから変更のあったプロパティだけを更新対象とします。
 AutoUpdate<T> excludes(java.lang.CharSequence... propertyNames)
          指定のプロパティを更新対象から除外します。
 AutoUpdate<T> excludesNull()
          null値のプロパティを更新対象から除外します。
protected  int executeInternal()
          データベースの更新を実行します。
 AutoUpdate<T> includes(java.lang.CharSequence... propertyNames)
          指定のプロパティのみを更新対象とします。
 AutoUpdate<T> includesVersion()
          バージョンプロパティを通常の更新対象に含め、バージョンチェックの対象外とします。
protected  void incrementVersion()
          バージョンの値を増加させます。
protected  boolean isOptimisticLock()
          楽観的同時実行制御を行っている場合はtrueを返します。
protected  void prepare(java.lang.String methodName)
          クエリの準備をします。
protected  void prepareParams()
          バインド変数を準備します.
protected  void prepareSetClause()
          set句の準備をします。
protected  void prepareTargetProperties()
          set句に設定されるプロパティの準備をします。
protected  void prepareWhereClause()
          where句の準備をします。
 AutoUpdate<T> suppresOptimisticLockException()
          バージョンチェックを行った場合に、 更新行数が0行でもOptimisticLockExceptionをスローしないようにします。
protected  java.lang.String toSql()
          SQLに変換します。
 
クラス org.seasar.extension.jdbc.query.AbstractAutoUpdate から継承されたメソッド
createPreparedStatement, execute, getEntity, getEntityMeta, getPreparedStatement, postExecute, prepareSql, validateRows
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたメソッド
addParam, addParam, addParam, addParam, assertNotCompleted, callerClass, callerMethodName, completed, getCallerClass, getCallerMethodName, getExecutedSql, getJdbcManager, getParam, getParamClasses, getParamSize, getParamValues, getParamValueTypes, getQueryTimeout, getValueType, handleResultSet, logSql, logSql, prepareCallerClassAndMethodName, prepareInParams, queryTimeout, resetParams, toStringArray
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.seasar.extension.jdbc.Update から継承されたメソッド
execute
 
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド
callerClass, callerMethodName, queryTimeout
 

フィールドの詳細

UPDATE_STATEMENT

protected static final java.lang.String UPDATE_STATEMENT
UDPATE文

関連項目:
定数フィールド値

includeVersion

protected boolean includeVersion
バージョンプロパティを更新対象に含める場合true


excludesNull

protected boolean excludesNull
null値のプロパティを更新から除外する場合true


includesProperties

protected final java.util.Set<java.lang.String> includesProperties
更新対象とするプロパティ


excludesProperties

protected final java.util.Set<java.lang.String> excludesProperties
更新から除外するプロパティ


beforeStates

protected java.util.Map<java.lang.String,java.lang.Object> beforeStates
更新前のプロパティの状態を持つMap


targetProperties

protected final java.util.List<PropertyMeta> targetProperties
更新対象となるプロパティメタデータのList


setClause

protected final SetClause setClause
set句


whereClause

protected final WhereClause whereClause
where句

コンストラクタの詳細

AutoUpdateImpl

public AutoUpdateImpl(JdbcManagerImplementor jdbcManager,
                      T entity)
パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entity - エンティティ
メソッドの詳細

includesVersion

public AutoUpdate<T> includesVersion()
インタフェース AutoUpdate の記述:
バージョンプロパティを通常の更新対象に含め、バージョンチェックの対象外とします。

このメソッドが呼び出されると、update文のwhere句にはバージョンのチェックが含まれなくなり、 バージョンプロパティは通常のプロパティと同じように更新対象に含められます (AutoUpdate.excludesNull()AutoUpdate.changedFrom(Object)等も同じように適用されます)。

定義:
インタフェース AutoUpdate<T> 内の includesVersion
戻り値:
このインスタンス自身

excludesNull

public AutoUpdate<T> excludesNull()
インタフェース AutoUpdate の記述:
null値のプロパティを更新対象から除外します。

定義:
インタフェース AutoUpdate<T> 内の excludesNull
戻り値:
このインスタンス自身

includes

public AutoUpdate<T> includes(java.lang.CharSequence... propertyNames)
インタフェース AutoUpdate の記述:
指定のプロパティのみを更新対象とします。

定義:
インタフェース AutoUpdate<T> 内の includes
パラメータ:
propertyNames - 更新対象とするプロパティ名の並び
戻り値:
このインスタンス自身

excludes

public AutoUpdate<T> excludes(java.lang.CharSequence... propertyNames)
インタフェース AutoUpdate の記述:
指定のプロパティを更新対象から除外します。

定義:
インタフェース AutoUpdate<T> 内の excludes
パラメータ:
propertyNames - 更新対象から除外するプロパティ名の並び
戻り値:
このインスタンス自身

changedFrom

public AutoUpdate<T> changedFrom(T beforeEntity)
インタフェース AutoUpdate の記述:
beforeから変更のあったプロパティだけを更新対象とします。

定義:
インタフェース AutoUpdate<T> 内の changedFrom
パラメータ:
beforeEntity - 変更前の状態を持つエンティティ
戻り値:
このインスタンス自身

changedFrom

public AutoUpdate<T> changedFrom(java.util.Map<java.lang.String,? extends java.lang.Object> beforeStates)
インタフェース AutoUpdate の記述:
beforeから変更のあったプロパティだけを更新対象とします。

定義:
インタフェース AutoUpdate<T> 内の changedFrom
パラメータ:
beforeStates - 変更前の状態を持つMap
戻り値:
このインスタンス自身

suppresOptimisticLockException

public AutoUpdate<T> suppresOptimisticLockException()
インタフェース AutoUpdate の記述:
バージョンチェックを行った場合に、 更新行数が0行でもOptimisticLockExceptionをスローしないようにします。

定義:
インタフェース AutoUpdate<T> 内の suppresOptimisticLockException
戻り値:
このインスタンス自身

prepare

protected void prepare(java.lang.String methodName)
クラス AbstractQuery の記述:
クエリの準備をします。

定義:
クラス AbstractQuery<AutoUpdate<T>> 内の prepare
パラメータ:
methodName - メソッド名

executeInternal

protected int executeInternal()
クラス AbstractAutoUpdate の記述:
データベースの更新を実行します。

オーバーライド:
クラス AbstractAutoUpdate<T,AutoUpdate<T>> 内の executeInternal
戻り値:
更新した行数

prepareTargetProperties

protected void prepareTargetProperties()
set句に設定されるプロパティの準備をします。


prepareSetClause

protected void prepareSetClause()
set句の準備をします。


prepareWhereClause

protected void prepareWhereClause()
where句の準備をします。


prepareParams

protected void prepareParams()
バインド変数を準備します.


toSql

protected java.lang.String toSql()
SQLに変換します。

定義:
クラス AbstractAutoUpdate<T,AutoUpdate<T>> 内の toSql
戻り値:
SQL

isOptimisticLock

protected boolean isOptimisticLock()
クラス AbstractAutoUpdate の記述:
楽観的同時実行制御を行っている場合はtrueを返します。

定義:
クラス AbstractAutoUpdate<T,AutoUpdate<T>> 内の isOptimisticLock
戻り値:
楽観的同時実行制御を行っている場合はtrue

incrementVersion

protected void incrementVersion()
クラス AbstractAutoUpdate の記述:
バージョンの値を増加させます。

オーバーライド:
クラス AbstractAutoUpdate<T,AutoUpdate<T>> 内の incrementVersion


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