クラス FunctionalEntityStream

java.lang.Object
org.iplass.mtp.entity.bulkupdate.FunctionalEntityStream
すべての実装されたインタフェース:
AutoCloseable, Iterable<BulkUpdateEntity>, BulkUpdatable

public class FunctionalEntityStream extends Object implements BulkUpdatable
ラムダ式を利用してBulkUpdatableを構築するためのクラス。 以下のような使い方。
 EntityManager em = ...
 
 List oids = 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

      public FunctionalEntityStream()
  • メソッドの詳細

    • onNext

      BulkUpdateEntityを取得するロジックを記述。 処理対象のBulkUpdateEntityが既にない場合はnullを返却するように実装。
      パラメータ:
      onNext -
      戻り値:
    • definitionName

      public FunctionalEntityStream definitionName(String definitionName)
      Entityの定義名を指定
      パラメータ:
      definitionName -
      戻り値:
    • updateProperties

      public FunctionalEntityStream updateProperties(String... propName)
      更新時の更新対象プロパティを指定
      パラメータ:
      propName -
      戻り値:
    • auditPropertySpecified

      public FunctionalEntityStream auditPropertySpecified()
      バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録するように指定します。 このフラグを利用する場合、 当該処理を呼び出すユーザーがadmin権限を保持している必要があります。
      戻り値:
    • onClose

      public FunctionalEntityStream onClose(Runnable onClose)
      BulkUpdatableのクローズ処理を記述。
      パラメータ:
      onClose -
      戻り値:
    • onUpdated

      public FunctionalEntityStream onUpdated(Consumer<BulkUpdateEntity> onUpdated)
      更新処理成功後のコールバック処理を記述可能。
      パラメータ:
      onUpdated -
      戻り値:
    • iterator

      public Iterator<BulkUpdateEntity> iterator()
      定義:
      iterator インタフェース内 Iterable<BulkUpdateEntity>
    • getDefinitionName

      public String getDefinitionName()
      インタフェースからコピーされた説明: BulkUpdatable
      バルク更新対象のEntity定義名を返却するように実装。
      定義:
      getDefinitionName インタフェース内 BulkUpdatable
      戻り値:
    • isEnableAuditPropertySpecification

      public boolean isEnableAuditPropertySpecification()
      インタフェースからコピーされた説明: BulkUpdatable
      バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録する場合にtrueを指定します。 デフォルトはfalseです。 このフラグを利用する場合、 当該処理を呼び出すユーザーがadmin権限を保持している必要があります。
      定義:
      isEnableAuditPropertySpecification インタフェース内 BulkUpdatable
      戻り値:
    • updated

      public void updated(BulkUpdateEntity updatedEntity)
      インタフェースからコピーされた説明: BulkUpdatable
      バルク更新対象のEntityの更新処理が成功した場合呼び出されるコールバック。
      定義:
      updated インタフェース内 BulkUpdatable
      パラメータ:
      updatedEntity -
    • close

      public void close()
      インタフェースからコピーされた説明: BulkUpdatable
      BulkUpdatableのクローズ処理を記述。
      定義:
      close インタフェース内 AutoCloseable
      定義:
      close インタフェース内 BulkUpdatable
    • getUpdateProperties

      public List<String> getUpdateProperties()
      インタフェースからコピーされた説明: BulkUpdatable
      バルク更新(UPDATEおよびMERGEで更新と判断された場合)の際の更新対象のプロパティを指定する。 未指定(null)の場合は全項目を更新対象と判断。
      定義:
      getUpdateProperties インタフェース内 BulkUpdatable
      戻り値: