クラス FileLineModel

java.lang.Object
org.opengion.fukurou.process.LineModel
org.opengion.fukurou.process.FileLineModel
すべての実装されたインタフェース:
DataModel<Object>

public class FileLineModel extends LineModel
FileLineModel は、LineModel を継承した ファイルリスト専用の LineModel の実装クラスです。 FileLineModel オブジェクトには、ファイル属性(Level,File,Length,Modify,LineCnt,Biko,MD5) が設定されます。 オプションで、FILEPATH,ADDRESS,FILENAME 属性を文字列で準備できます。(6.3.1.0 (2015/06/28)) ADDRESS は、指定ファイルの親フォルダ。FILENAME はファイル名。FILEPATH は、ファイル名を含む 完全なファイルパスになります。 ※ 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加 この、新しい属性に、値をセットする場合は、useFilePath="true" をセットしてください。 ※ 6.3.1.1 (2015/07/10) Modify のフォーマット(modifyForm)を、指定可能にします。 これは、Date型のまま、扱いたい所だが、文字列化しています。 初期値は、"yyyy/MM/dd HH:mm:ss" です。 LineCnt と、MD5 は、それぞれ、計算するかどうかのフラグを設定する必要があります。 ※ useLineCnt=false の場合のLength(文字数)は、File#length() メソッドで求めます。 一方、useLineCnt=true にすると、行単位に、String#length() を加算するため、 先のLength(文字数)値とは異なりますのでご注意ください。 omitCmnt=true にすると、コメント部分を削除した行数と文字数を求めます。 これは、/* から */ の間、// から改行までです。 ただし、"(二重引用符)で囲まれた文字列は、コメントとみなしません。 8.1.0.4 (2022/01/28) さらに、各行の空行はカウントに含めないことにします。 データの1行分を FileLineModel に割り当てます。 カラム番号は、0 から始まります。カラム名よりカラム番号を求める場合に、 存在しない場合は、-1 を返します。 カラム番号が -1 の場合は、処理を行いません。 注意:このクラスは、同期処理されていません。
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • FileLineModel

      public FileLineModel()
      コンストラクターです。 useLineCnt=false , useMD5=false , omitCmnt=false で初期化されます。
      変更履歴:
      5.7.2.1 (2014/01/17) MD5対応, 5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する)対応, 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加
    • FileLineModel

      public FileLineModel(boolean isLineCnt)
      ラインカウントの有無を指定した、コンストラクターです。 useMD5=false , omitCmnt=false で初期化されます。
      パラメータ:
      isLineCnt - 行数カウントの使用有無
      変更履歴:
      4.2.2.0 (2008/05/10) 行数カウントの使用有無, 5.7.2.1 (2014/01/17) MD5対応, 5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する)対応, 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加
    • FileLineModel

      public FileLineModel(boolean isLineCnt, boolean isMD5)
      ラインカウントの有無と、MD5計算の有無を指定した、コンストラクターです。 omitCmnt=false で初期化されます。
      パラメータ:
      isLineCnt - 行数カウントの使用有無
      isMD5 - ファイルのMD5の使用有無
      変更履歴:
      5.7.2.1 (2014/01/17) 新規追加(MD5対応), 5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する)対応, 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加。
    • FileLineModel

      public FileLineModel(boolean isLineCnt, boolean isMD5, boolean isOmit)
      ラインカウントの有無と、MD5計算の有無と、コメント除外の可否を指定した、コンストラクターです。
      パラメータ:
      isLineCnt - 行数カウントの使用有無
      isMD5 - ファイルのMD5の使用有無
      isOmit - コメント除外の可否(true:除外する)
      変更履歴:
      5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する), 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加
    • FileLineModel

      public FileLineModel(boolean isLineCnt, boolean isMD5, boolean isOmit, boolean isPath)
      ラインカウントの有無と、MD5計算の有無と、コメント除外の可否と、追加属性可否を指定した、コンストラクターです。
      パラメータ:
      isLineCnt - 行数カウントの使用有無
      isMD5 - ファイルのMD5の使用有無
      isOmit - コメント除外の可否(true:除外する)
      isPath - FILEPATH,ADDRESS,FILENAME 属性の可否(true:使用する)
      変更履歴:
      5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する), 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加, 6.4.1.1 (2016/01/16) PMD refactoring. It is a good practice to call super() in a constructor, 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります
    • FileLineModel

      public FileLineModel(LineModel model)
      LineModel を元に、FileLineModel を構築します。 これは、一旦ファイル等にセーブされた FileLineModel 形式を 元に戻す簡易コンストラクタです。
      パラメータ:
      model - 元のLineModel
      変更履歴:
      4.2.3.0 (2008/05/26) 新規追加, 5.7.2.1 (2014/01/17) MD5の設定処理追加, 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加, 6.4.1.1 (2016/01/16) PMD refactoring. It is a good practice to call super() in a constructor, 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります
  • メソッドの詳細

    • copyLineModel

      public final void copyLineModel(LineModel model)
      LineModel を元に、FileLineModel を構築します。 これは、一旦ファイル等にセーブされた FileLineModel 形式を元に戻す簡易コンストラクタです。 ※ 元々、コンストラクタでしたが、JDK21で警告が出たため、メソッドを分離しました。処理的には非効率です。
      パラメータ:
      model - 元のLineModel
      変更履歴:
      8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります
    • setFileVals

      public void setFileVals(int level, File file)
      File属性値をセットします。 LEVEL,FILE,LENGTH,MODIFY,LINECNT,MD5 の各属性を設定します。
      パラメータ:
      level - ファイルのディレクトリ階層
      file - ファイルオブジェクト
      変更履歴:
      4.2.2.0 (2008/05/10) 行数カウントの使用有無, 5.5.7.2 (2012/10/09) HybsDateUtil を利用するように修正します。, 5.7.2.1 (2014/01/17) MD5計算処理の追加, 5.7.4.0 (2014/03/07) コメント除外の可否(true:除外する)対応, 5.7.7.1 (2014/06/13) omitCmnt=true(コメント除外する) and useMD5=true(MD5計算する) 場合の処理, 6.2.1.0 (2015/03/13) ファイルの削除に失敗するため、削除しない。, 6.3.1.0 (2015/06/28) FILEPATH,ADDRESS,FILENAME 属性追加, 8.1.2.0 (2022/03/10) getMD5 メソッドを getHash メソッドに変更
    • setEncode

      public void setEncode(String encode)
      コメント削除時の文字数計算で利用するファイルのエンコードをセットします。 初期値:JISAutoDetect
      パラメータ:
      encode - コメント削除時の文字数計算で利用するファイルのエンコード
      変更履歴:
      5.7.4.0 (2014/03/07) 新規追加
    • setFile

      public void setFile(File file)
      File属性値をセットします。
      パラメータ:
      file - ファイルオブジェクト
    • getFile

      public File getFile()
      ファイルを取得します。
      戻り値:
      ファイル
    • setBiko

      public void setBiko(String biko)
      備考情報属性値をセットします。
      パラメータ:
      biko - 備考情報
      変更履歴:
      4.2.2.0 (2008/05/10) 行数カウントの使用有無
    • getLevel

      public int getLevel()
      レベル File属性値を取得します。
      戻り値:
      ファイルのディレクトリ階層
    • getLength

      public long getLength()
      ファイルサイズ File属性値を取得します。
      戻り値:
      ファイルサイズ
    • setModifyForm

      public void setModifyForm(String form)
      更新日時(Modify) のフォーマットを、指定します。 ここで指定しない場合は、"yyyy/MM/dd HH:mm:ss" になります。 Date型で変換できないようなフォームを指定した場合は、実行時に エラーになりますので、ご注意ください。
      パラメータ:
      form - 更新日時のフォーマット
      関連項目:
      変更履歴:
      6.3.1.1 (2015/07/10) Modify のフォーマットを、指定可能にします。
    • getModify

      public String getModify()
      更新日時 File属性値を取得します。
      戻り値:
      更新日時(yyyy/MM/dd HH:mm:ss)
    • getMD5

      public String getMD5()
      MD5 File属性値を取得します。 ただし、useMD5 が true でないと値は返しません。
      戻り値:
      MD5の値
      変更履歴:
      5.7.2.1 (2014/01/17) 新規追加(MD5対応)