Class CSVFormattedEntityStream

java.lang.Object
org.iplass.mtp.entity.bulkupdate.CSVFormattedEntityStream
All Implemented Interfaces:
AutoCloseable, Iterable<BulkUpdateEntity>, BulkUpdatable

public class CSVFormattedEntityStream extends Object implements BulkUpdatable
CSV形式で記述されたStreamをソースとして実行するBulkUpdatable。
CSVデータストリームはヘッダー行と、各Entityを1行のCSVデータで表現する複数行のデータとして構成されている前提。 CSVデータストリームの例
 _useCtrl,oid,name,propA,propB[0],propB[1],propC,refX,...
 I,,"hoge,hoge",15,a,b,"2014-12-11 13:24:00.000","100234.0,100235.0",...
 U,2012,"fuga",15,a,b,"2014-12-12 10:00:00.000","100531.0",...
 :
 :
 
_useCtrl列

_useCtrl列は、制御フラグ列。

フラグ説明
I追加(BulkUpdateEntity.UpdateMethod.INSERT
U更新(BulkUpdateEntity.UpdateMethod.UPDATE
D削除(BulkUpdateEntity.UpdateMethod.DELETE
Mマージ(BulkUpdateEntity.UpdateMethod.MERGE

※_useCtrl列が存在しない場合は、oidがある行は、MERGE、oidがない行はINSERTと判断され処理される。

多重度が複数のプロパティ(参照型除く)

多重度複数の場合は、プロパティ名の後に配列添え字[n]を指定する。
Select型は、value(コード)値を指定。
日時型は、yyyy-MM-dd HH:mm:ss.SSS形式。
日付型は、yyyy-MM-dd形式。
時間型は、HH:mm:ss形式。
※現状、BinaryReference未対応

参照型のプロパティ

[oid].[version]の形式で1参照を表す。 複数Entityへの参照を示す場合は、カンマで区切る(CSVの要素となるので、全体を"で囲う)。
例:
1Entityへの参照の表現:1234.0
複数Entityへの参照の表現:"1234.0,1235.0,1236.0"

  • Field Details

  • Constructor Details

    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, InputStream inputStream)
      文字コードUTF-8でCSVFormattedEntityStreamを構築。
      Parameters:
      definitionName -
      inputStream -
    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, InputStream inputStream, String charset)
      指定の文字コードで、CSVFormattedEntityStreamを構築。
      Parameters:
      definitionName -
      inputStream -
      charset -
    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, Reader reader)
      指定のReaderで、CSVFormattedEntityStreamを構築。
      Parameters:
      definitionName -
      reader -
    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, List<String> updateProperties, InputStream inputStream)
      文字コードUTF-8、更新時の更新対象updatePropertiesでCSVFormattedEntityStreamを構築。
      Parameters:
      definitionName -
      updateProperties -
      inputStream -
    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, List<String> updateProperties, InputStream inputStream, String charset)
    • CSVFormattedEntityStream

      public CSVFormattedEntityStream(String definitionName, List<String> updateProperties, Reader reader)
  • Method Details

    • iterator

      public Iterator<BulkUpdateEntity> iterator()
      Specified by:
      iterator in interface Iterable<BulkUpdateEntity>
    • getDefinitionName

      public String getDefinitionName()
      Description copied from interface: BulkUpdatable
      バルク更新対象のEntity定義名を返却するように実装。
      Specified by:
      getDefinitionName in interface BulkUpdatable
      Returns:
    • close

      public void close()
      Description copied from interface: BulkUpdatable
      BulkUpdatableのクローズ処理を記述。
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BulkUpdatable
    • getUpdateProperties

      public List<String> getUpdateProperties()
      Description copied from interface: BulkUpdatable
      バルク更新(UPDATEおよびMERGEで更新と判断された場合)の際の更新対象のプロパティを指定する。 未指定(null)の場合は全項目を更新対象と判断。
      Specified by:
      getUpdateProperties in interface BulkUpdatable
      Returns:
    • isEnableAuditPropertySpecification

      public boolean isEnableAuditPropertySpecification()
      Description copied from interface: BulkUpdatable
      バルク更新(INSERT時)の際、EntityにcreateBy,createDate,updateBy,updateDateの値を 指定してその値のまま登録する場合にtrueを指定します。 デフォルトはfalseです。 このフラグを利用する場合、 当該処理を呼び出すユーザーがadmin権限を保持している必要があります。
      Specified by:
      isEnableAuditPropertySpecification in interface BulkUpdatable
      Returns:
    • setEnableAuditPropertySpecification

      public void setEnableAuditPropertySpecification(boolean enableAuditPropertySpecification)