クラス 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 = ...
 
 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()  
  • メソッドの概要

    修飾子とタイプ メソッド 説明
    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)
    更新時の更新対象プロパティを指定

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェースから継承されたメソッド java.lang.Iterable

    forEach, spliterator
  • コンストラクタの詳細

  • メソッドの詳細

    • onNext

      public FunctionalEntityStream onNext​(java.util.function.Supplier<BulkUpdateEntity> onNext)
      BulkUpdateEntityを取得するロジックを記述。 処理対象のBulkUpdateEntityが既にない場合はnullを返却するように実装。
      パラメータ:
      onNext -
      戻り値:
    • definitionName

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

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

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

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

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

      public java.util.Iterator<BulkUpdateEntity> 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

      public void updated​(BulkUpdateEntity updatedEntity)
      インタフェースからコピーされた説明: 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
      戻り値: