パッケージ org.opengion.hayabusa.servlet

# クラス UploadedFile

java.lang.Object
org.opengion.hayabusa.servlet.UploadedFile

すべての実装されたインタフェース:
  `Comparable<UploadedFile>`

public final class UploadedFile extends Object implements Comparable<UploadedFile>
ﾌｧｲﾙをｻｰﾊﾞｰにｱｯﾌﾟﾛｰﾄﾞする場合に使用されるﾌｧｲﾙ管理ｸﾗｽです｡ HTML5 ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞの複数選択（multiple）対応 に伴い､一つのｸﾗｽとして public化します｡

変更履歴:
  5.7.1.1 (2013/12/13) HTML5 ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞの複数選択（multiple）対応, 5.9.25.0 (2017/10/06) ｸﾗｳﾄﾞｽﾄﾚｰｼﾞ追加対応
機能分類
  その他機能
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final int`
  `BUFFER_MIDDLE`
  ﾊﾞｯﾌｧの初期容量を通常より多い目に設定します｡ 200

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `UploadedFile(String uniqKey, String dir, String name, String original, String type)`
  ｱｯﾌﾟﾛｰﾄﾞﾌｧｲﾙの管理ｵﾌﾞｼﾞｪｸﾄを作成します｡

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `compareTo(UploadedFile other)`
  自然比較ﾒｿｯﾄﾞ ｲﾝﾀﾌｪｰｽ Comparable の 実装に関連して､再定義しています｡ 登録されたｼｰｹﾝｽ(画面の表示順)で比較します｡ equals ﾒｿｯﾄﾞでは､ｷｰの同一性のみに着目して判定しています｡ この比較では､(運用上同一ｷｰは発生しませんが)たとえ同一ｷｰが存在した としても､その比較値が同じになることを保証していません｡
  `boolean`
  `equals(Object object)`
  このｵﾌﾞｼﾞｪｸﾄと他のｵﾌﾞｼﾞｪｸﾄが等しいかどうかを示します｡ 画面は､画面IDが等しければ､言語や表示順に関係なく同一とみなされます｡ GUIInfo は､ﾕｰｻﾞｰ個別に扱われ､そのｸﾞﾙｰﾌﾟには､key は唯一で､かつ 同一言語内で扱われるｵﾌﾞｼﾞｪｸﾄの為､同一とみなします｡
  `String`
  `getContentType()`
  ｺﾝﾃﾝﾄﾀｲﾌﾟを取得します｡
  `String`
  `getName()`
  ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞされた時のname属性を取得します｡
  `String`
  `getOriginalFileName()`
  ﾌｧｲﾙ名(ｵﾘｼﾞﾅﾙ)を取得します｡
  `String`
  `getUploadFile()`
  ﾌｧｲﾙ名(置き換え後)を取得します｡
  `int`
  `hashCode()`
  ｵﾌﾞｼﾞｪｸﾄのﾊｯｼｭｺｰﾄﾞ値を返します｡ このﾒｿｯﾄﾞは､java.util.Hashtable によって提供されるような ﾊｯｼｭﾃｰﾌﾞﾙで使用するために用意されています｡ equals( Object ) ﾒｿｯﾄﾞをｵｰﾊﾞｰﾗｲﾄした場合は､hashCode() ﾒｿｯﾄﾞも 必ず 記述する必要があります｡ この実装では､getKey().hashCode() と同値を返します｡
  `String`
  `renameTo(String newName, String prefix, String sufix, String useBackup, String fileURL, boolean useLocal)`
  ﾌｧｲﾙ名(置き換え後)の置き換えを実行します｡ useBackup = true にすると､dir の直下に､"_backup" ﾌｫﾙﾀﾞを作成します｡ ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙ名は､元のﾌｧｲﾙ名(拡張子含む) ＋ "_" + 現在時刻のlong値 + "." + 元のﾌｧｲﾙの拡張子 newName が null の場合は､original のﾌｧｲﾙ名に､変換します｡ 6.0.2.4 (2014/10/17) useBackup="rename" で､すでに同名のﾌｧｲﾙが存在した場合に､"_001" のような文字列を追加したﾌｧｲﾙにﾘﾈｰﾑします｡ Windowsの " - ｺﾋﾟｰ (2)" に近いですが､桁数を抑えるのと､useBackup="true" と異なり､過去の同一ﾌｧｲﾙ名は そのまま､有効になります｡同一ﾌｧｲﾙが同一ﾌｫﾙﾀﾞに存在する場合のみ連番が付与されます｡ newName の指定に､ﾌｫﾙﾀﾞ名を含めることを可能にしました｡
  `String`
  `toString()`
  ｵﾌﾞｼﾞｪｸﾄの識別子として，詳細な画面情報を返します｡

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## フィールド詳細

  - ### BUFFER_MIDDLE

    public static final int BUFFER_MIDDLE
    ﾊﾞｯﾌｧの初期容量を通常より多い目に設定します｡ 200
    関連項目:
      - 定数フィールド値

- ## コンストラクタの詳細

  - ### UploadedFile

    UploadedFile(String uniqKey, String dir, String name, String original, String type)
    ｱｯﾌﾟﾛｰﾄﾞﾌｧｲﾙの管理ｵﾌﾞｼﾞｪｸﾄを作成します｡
    パラメータ:
      `uniqKey` - ﾕﾆｰｸｷｰ(初期ｱｯﾌﾟﾛｰﾄﾞﾌｧｲﾙ名)
      `dir` - ﾌｧｲﾙを保管するﾌｫﾙﾀﾞ
      `name` - ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞされた時のname属性
      `original` - ﾌｧｲﾙ名(ｵﾘｼﾞﾅﾙ)
      `type` - ｺﾝﾃﾝﾄﾀｲﾌﾟ
    変更履歴:
      5.7.1.1 (2013/12/13) HTML5 ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞの複数選択（multiple）対応

- ## メソッドの詳細

  - ### getName

    public String getName()
    ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞされた時のname属性を取得します｡
    戻り値:
      ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞされた時のname属性
    変更履歴:
      5.7.1.1 (2013/12/13) HTML5 ﾌｧｲﾙｱｯﾌﾟﾛｰﾄﾞの複数選択（multiple）対応

  - ### getContentType

    public String getContentType()
    ｺﾝﾃﾝﾄﾀｲﾌﾟを取得します｡
    戻り値:
      ｺﾝﾃﾝﾄﾀｲﾌﾟ

  - ### getUploadFile

    public String getUploadFile()
    ﾌｧｲﾙ名(置き換え後)を取得します｡
    戻り値:
      ﾌｧｲﾙ名(置き換え後)
    変更履歴:
      5.7.1.2 (2013/12/20) zip 対応で､Fileｵﾌﾞｼﾞｪｸﾄを返すようにします｡, 5.9.25.0 (2017/10/06) FILE型をString型に変更

  - ### renameTo

    public String renameTo(String newName, String prefix, String sufix, String useBackup, String fileURL, boolean useLocal)
    ﾌｧｲﾙ名(置き換え後)の置き換えを実行します｡ useBackup = true にすると､dir の直下に､"_backup" ﾌｫﾙﾀﾞを作成します｡ ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙ名は､元のﾌｧｲﾙ名(拡張子含む) ＋ "_" + 現在時刻のlong値 + "." + 元のﾌｧｲﾙの拡張子 newName が null の場合は､original のﾌｧｲﾙ名に､変換します｡ 6.0.2.4 (2014/10/17) useBackup="rename" で､すでに同名のﾌｧｲﾙが存在した場合に､"_001" のような文字列を追加したﾌｧｲﾙにﾘﾈｰﾑします｡ Windowsの " - ｺﾋﾟｰ (2)" に近いですが､桁数を抑えるのと､useBackup="true" と異なり､過去の同一ﾌｧｲﾙ名は そのまま､有効になります｡同一ﾌｧｲﾙが同一ﾌｫﾙﾀﾞに存在する場合のみ連番が付与されます｡ newName の指定に､ﾌｫﾙﾀﾞ名を含めることを可能にしました｡
    パラメータ:
      `newName` - ﾌｧｲﾙ名(nullの場合は､ｵﾘｼﾞﾅﾙ)
      `prefix` - 接頭辞(nullの場合は､何もつけない)
      `sufix` - 接尾辞(nullの場合は､何もつけない)
      `useBackup` - 置き換え後ﾌｧｲﾙの処理方法(true:backupﾌｫﾙﾀﾞ/false:しない/rename:重複しない連番)
      `fileURL` - ｸﾗｳﾄﾞｽﾄﾚｰｼﾞ用のURL // * @param hsession ｾｯｼｮﾝ // * @param storage ｸﾗｳﾄﾞﾌﾟﾗｸﾞｲﾝ名(ﾛｰｶﾙﾌｧｲﾙを強制する場合は､LOCAL を指定する) // * @param bucket ﾊﾞｹｯﾄ名(ﾛｰｶﾙﾌｧｲﾙを強制する場合は､LOCAL を指定する)
      `useLocal` - 強制的にﾛｰｶﾙﾌｧｲﾙを使用する場合､true にｾｯﾄします｡
    戻り値:
      最終的に作成されたﾌｧｲﾙｵﾌﾞｼﾞｪｸﾄ
    変更履歴:
      5.7.1.1 (2013/12/13) 新規追加, 5.7.2.1 (2014/01/17) FileUtil.renameTo の引数の順番を間違えていた｡, 6.0.2.4 (2014/10/17) useBackup 修正､newName に､ﾌｫﾙﾀﾞ名を含めることが可能, 6.2.0.0 (2015/02/27) FileInfoｸﾗｽを使用｡ (FileUtil#getExtension(String) の廃止), 5.9.25.0 (2017/10/06) returnをString型に変更｡引数にfileURLとsessionを追加, 5.10.9.0 (2019/03/01) ｸﾗｳﾄﾞｽﾄﾚｰｼﾞ対応の追加｡, 8.0.1.0 (2021/10/29) useLocal 属性を追加｡storageType , bucketName 削除

  - ### getOriginalFileName

    public String getOriginalFileName()
    ﾌｧｲﾙ名(ｵﾘｼﾞﾅﾙ)を取得します｡
    戻り値:
      ﾌｧｲﾙ名(ｵﾘｼﾞﾅﾙ)

  - ### compareTo

    public int compareTo(UploadedFile other)
    自然比較ﾒｿｯﾄﾞ ｲﾝﾀﾌｪｰｽ Comparable の 実装に関連して､再定義しています｡ 登録されたｼｰｹﾝｽ(画面の表示順)で比較します｡ equals ﾒｿｯﾄﾞでは､ｷｰの同一性のみに着目して判定しています｡ この比較では､(運用上同一ｷｰは発生しませんが)たとえ同一ｷｰが存在した としても､その比較値が同じになることを保証していません｡
    定義:
      `compareTo` インタフェース内 `Comparable<UploadedFile>`
    パラメータ:
      `other` - 比較対象のObject
    戻り値:
      このｵﾌﾞｼﾞｪｸﾄが指定されたｵﾌﾞｼﾞｪｸﾄより小さい場合は負の整数､等しい場合はｾﾞﾛ､大きい場合は正の整数
    例外:
      `ClassCastException` - 引数が UploadedFile ではない場合
      `IllegalArgumentException` - 引数が null の場合

  - ### equals

    public boolean equals(Object object)
    このｵﾌﾞｼﾞｪｸﾄと他のｵﾌﾞｼﾞｪｸﾄが等しいかどうかを示します｡ 画面は､画面IDが等しければ､言語や表示順に関係なく同一とみなされます｡ GUIInfo は､ﾕｰｻﾞｰ個別に扱われ､そのｸﾞﾙｰﾌﾟには､key は唯一で､かつ 同一言語内で扱われるｵﾌﾞｼﾞｪｸﾄの為､同一とみなします｡
    オーバーライド:
      `equals` クラス内 `Object`
    パラメータ:
      `object` - 比較対象の参照ｵﾌﾞｼﾞｪｸﾄ
    戻り値:
      引数に指定されたｵﾌﾞｼﾞｪｸﾄとこのｵﾌﾞｼﾞｪｸﾄが等しい場合は true､そうでない場合は false

  - ### hashCode

    public int hashCode()
    ｵﾌﾞｼﾞｪｸﾄのﾊｯｼｭｺｰﾄﾞ値を返します｡ このﾒｿｯﾄﾞは､java.util.Hashtable によって提供されるような ﾊｯｼｭﾃｰﾌﾞﾙで使用するために用意されています｡ equals( Object ) ﾒｿｯﾄﾞをｵｰﾊﾞｰﾗｲﾄした場合は､hashCode() ﾒｿｯﾄﾞも 必ず 記述する必要があります｡ この実装では､getKey().hashCode() と同値を返します｡
    オーバーライド:
      `hashCode` クラス内 `Object`
    戻り値:
      このｵﾌﾞｼﾞｪｸﾄのﾊｯｼｭｺｰﾄﾞ値

  - ### toString

    public String toString()
    ｵﾌﾞｼﾞｪｸﾄの識別子として，詳細な画面情報を返します｡
    オーバーライド:
      `toString` クラス内 `Object`
    戻り値:
      詳細な画面情報
    このﾒｿｯﾄﾞは、nullを返しません