クラス FunctionalEntityStream
java.lang.Object
org.iplass.mtp.entity.bulkupdate.FunctionalEntityStream
- すべての実装されたインタフェース:
java.lang.AutoCloseable
,java.lang.Iterable<BulkUpdateEntity>
,BulkUpdatable
public class FunctionalEntityStream extends java.lang.Object implements BulkUpdatable
ラムダ式を利用してBulkUpdatableを構築するためのクラス。
以下のような使い方。
EntityManager em = ... Listoids = new ArrayList<>(); long[] counter = {0}; em.bulkUpdate(BulkUpdatable.as("TargetEntity").onNext(() -> { //onNextで次の1件のBulkUpdateEntityを返却するように実装 if (counter[0] >= 100) { //処理対象が終了した場合は、nullを返却 return null; } GenericEntity ret = new GenericEntity("TargetEntity"); ret.setName("hoge"); counter[0]++; return new BulkUpdateEntity(UpdateMethod.INSERT, ret); }).onUpdated(bue -> { //onUpdatedは、更新処理後のコールバック処理を記述可能(オプション) oids.add(bue.getEntity().getOid()); }).onClose(() -> { //onCloseは、BulkUpdatableのクローズ処理を記述可能(オプション) doSomething... }));
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 FunctionalEntityStream()
-
メソッドの概要
修飾子とタイプ メソッド 説明 FunctionalEntityStream
auditPropertySpecified()
バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録するように指定します。void
close()
BulkUpdatableのクローズ処理を記述。FunctionalEntityStream
definitionName(java.lang.String definitionName)
Entityの定義名を指定java.lang.String
getDefinitionName()
バルク更新対象のEntity定義名を返却するように実装。java.util.List<java.lang.String>
getUpdateProperties()
バルク更新(UPDATEおよびMERGEで更新と判断された場合)の際の更新対象のプロパティを指定する。boolean
isEnableAuditPropertySpecification()
バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録する場合にtrueを指定します。java.util.Iterator<BulkUpdateEntity>
iterator()
FunctionalEntityStream
onClose(java.lang.Runnable onClose)
BulkUpdatableのクローズ処理を記述。FunctionalEntityStream
onNext(java.util.function.Supplier<BulkUpdateEntity> onNext)
BulkUpdateEntityを取得するロジックを記述。FunctionalEntityStream
onUpdated(java.util.function.Consumer<BulkUpdateEntity> onUpdated)
更新処理成功後のコールバック処理を記述可能。void
updated(BulkUpdateEntity updatedEntity)
バルク更新対象のEntityの更新処理が成功した場合呼び出されるコールバック。FunctionalEntityStream
updateProperties(java.lang.String... propName)
更新時の更新対象プロパティを指定
-
コンストラクタの詳細
-
FunctionalEntityStream
public FunctionalEntityStream()
-
-
メソッドの詳細
-
onNext
BulkUpdateEntityを取得するロジックを記述。 処理対象のBulkUpdateEntityが既にない場合はnullを返却するように実装。- パラメータ:
onNext
-- 戻り値:
-
definitionName
Entityの定義名を指定- パラメータ:
definitionName
-- 戻り値:
-
updateProperties
更新時の更新対象プロパティを指定- パラメータ:
propName
-- 戻り値:
-
auditPropertySpecified
バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録するように指定します。 このフラグを利用する場合、 当該処理を呼び出すユーザーがadmin権限を保持している必要があります。- 戻り値:
-
onClose
BulkUpdatableのクローズ処理を記述。- パラメータ:
onClose
-- 戻り値:
-
onUpdated
更新処理成功後のコールバック処理を記述可能。- パラメータ:
onUpdated
-- 戻り値:
-
iterator
- 定義:
iterator
インタフェース内java.lang.Iterable<BulkUpdateEntity>
-
getDefinitionName
public java.lang.String getDefinitionName()インタフェースからコピーされた説明:BulkUpdatable
バルク更新対象のEntity定義名を返却するように実装。- 定義:
getDefinitionName
インタフェース内BulkUpdatable
- 戻り値:
-
isEnableAuditPropertySpecification
public boolean isEnableAuditPropertySpecification()インタフェースからコピーされた説明:BulkUpdatable
バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録する場合にtrueを指定します。 デフォルトはfalseです。 このフラグを利用する場合、 当該処理を呼び出すユーザーがadmin権限を保持している必要があります。- 定義:
isEnableAuditPropertySpecification
インタフェース内BulkUpdatable
- 戻り値:
-
updated
インタフェースからコピーされた説明:BulkUpdatable
バルク更新対象のEntityの更新処理が成功した場合呼び出されるコールバック。- 定義:
updated
インタフェース内BulkUpdatable
-
close
public void close()インタフェースからコピーされた説明:BulkUpdatable
BulkUpdatableのクローズ処理を記述。- 定義:
close
インタフェース内java.lang.AutoCloseable
- 定義:
close
インタフェース内BulkUpdatable
-
getUpdateProperties
public java.util.List<java.lang.String> getUpdateProperties()インタフェースからコピーされた説明:BulkUpdatable
バルク更新(UPDATEおよびMERGEで更新と判断された場合)の際の更新対象のプロパティを指定する。 未指定(null)の場合は全項目を更新対象と判断。- 定義:
getUpdateProperties
インタフェース内BulkUpdatable
- 戻り値:
-