パッケージ org.opengion.fukurou.model

## クラス CloudFileOperation

- java.lang.Object
- - java.io.File
  - - org.opengion.fukurou.model.FileOperation
    - - org.opengion.fukurou.model.CloudFileOperation

- すべての実装されたインタフェース:
    `Serializable`, `Comparable<File>`
  直系の既知のサブクラス:
    `FileOperationInfo`

      public abstract class CloudFileOperation
      extends FileOperation

  クラウドストレージ対応用の抽象クラスです。 各ベンダーのストレージに対応したプラグインを作成する場合はこのクラスを継承してください。
  関連項目:
    直列化された形式
  変更履歴:
    5.10.8.0 (2019/02/01) 新規作成, 5.10.9.0 (2019/03/01) 変更対応
  機能分類
    ファイル操作
  作成者
    oota
  導入されたバージョン:
    JDK7.0

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `protected String` | `conBucket` | バケット名
    `protected String` | `conPath` | パス

    - ### クラスから継承されたフィールド java.io.File

      `pathSeparator, pathSeparatorChar, separator, separatorChar`

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `CloudFileOperation​(String bucket, String inPath)` | コンストラクタ

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `boolean` | `canExecute()` | canExecuteの実行 クラウド側では未実装のメソッドです。
    `boolean` | `canRead()` | 読み取り可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
    `boolean` | `canWrite()` | 書き込み可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
    `abstract boolean` | `copy​(String afPath)` | ファイルコピー ファイルを指定先にコピーします。
    `boolean` | `createNewFile()` | 新規ファイル作成 既にファイルが存在しない場合のみ、 空のファイルを作成します。
    `abstract boolean` | `delete()` | ファイル削除 ファイルを削除します。
    `void` | `deleteOnExit()` | deleteOnExitの実行 クラウド側では未実装のメソッドです。
    `protected String` | `drawName​(String key)` | 名称の抽出 引数のkeyから名称を抽出します。
    `protected String` | `drawParent​(String key)` | 親のパスを抽出 キーから親のパスを抽出します。
    `protected String` | `editPath​(String path)` | ファイルパスの編集 パスの先頭が「/」の場合は「/」の除去と、「//」を「/」に置換処理の追加。
    `boolean` | `exists()` | 存在チェック 存在する場合は、trueを返します。
    `protected File[]` | `filter​(List<File> list, FileFilter filter)` | フィルター処理 フィルター処理を行います。
    `File` | `getAbsoluteFile()` | getAbsoluteFileの実行 クラウド側では未実装のメソッドです。
    `String` | `getAbsolutePath()` | 絶対パス取得 絶対パスを取得します。
    `FileOperation` | `getCanonicalFile()` | カノニカルファイル情報の取得 ※ローカルサーバのみ通常ファイルと、 カノニカルファイルで異なります。
    `long` | `getFreeSpace()` | getFreeSpaceの実行 クラウド側では未実装のメソッドです。
    `String` | `getName()` | ファイル名取得 ファイル名を取得します。
    `String` | `getParent()` | 親のパス取得 親のパスを取得します。
    `abstract File` | `getParentFile()` | 親ディレクトリの取得 親のディレクトリ情報を返します。
    `String` | `getPath()` | ファイルパス取得 ファイルパスを取得します。
    `long` | `getTotalSpace()` | getTotalSpaceの実行 クラウド側では未実装のメソッドです。
    `long` | `getUsableSpace()` | getUsableSpaceの実行 クラウド側では未実装のメソッドです。
    `boolean` | `isAbsolute()` | isAbsoluteの実行 クラウド側では未実装のメソッドです。
    `abstract boolean` | `isDirectory()` | ディレクトリ判定 ディレクトリの場合は、trueを返します。
    `abstract boolean` | `isFile()` | ファイル判定 ファイルの場合は、trueを返します。
    `boolean` | `isHidden()` | 隠しファイルフラグ ※クラウドストレージの場合は、 必ずfalseを返します。
    `boolean` | `isLocal()` | ローカル実行フラグ判定 このabstract クラスの継承クラスはクラウド上で実行されるため、 falseを返します。
    `abstract long` | `lastModified()` | 最終更新時刻取得 最終更新時刻を返します。
    `abstract long` | `length()` | ファイルサイズ取得 ファイルサイズを返します。
    `abstract File[]` | `listFiles​(FileFilter filter)` | 一覧取得 パスのファイルと、ディレクトリ一覧を取得します。
    `boolean` | `mkdir()` | ディレクトリの作成 ※１つのディレクトリのみ作成します。
    `boolean` | `mkdirs()` | ディレクトリの作成(複数) ※複数のディレクトリを作成します。
    `boolean` | `move​(String afPath)` | ファイル移動 ファイルを指定先に移動します。
    `abstract InputStream` | `read()` | データ読み込み データを読み込み、InputStreamを返します。
    `boolean` | `renameTo​(File dest)` | ファイル名変更 指定のファイル情報のファイル名に変更します。
    `protected String` | `replaceFileSeparetor​(String path)` | ファイル区切り文字変換 ファイル区切り文字を変換します。
    `protected String` | `rTrim​(String str, char chr)` | 右側トリム処理 右側の文字が、指定の文字の場合、除去します。
    `protected String` | `setDirTail​(String path)` | ディレクトリ用のパス編集 後尾に「/」がない場合は、付与します。
    `boolean` | `setLastModified​(long time)` | 最終更新時刻の更新 最終更新時刻の更新を行います。
    `boolean` | `setReadable​(boolean readable)` | setReadableの実行 クラウド側では未実装のメソッドです。
    `boolean` | `setReadable​(boolean readable, boolean ownerOnly)` | setReadableの実行 クラウド側では未実装のメソッドです。
    `boolean` | `setWritable​(boolean writable)` | setWritableの実行 クラウド側では未実装のメソッドです。
    `boolean` | `setWritable​(boolean writable, boolean ownerOnly)` | canExecuteの実行 クラウド側では未実装のメソッドです。
    `protected byte[]` | `toByteArray​(InputStream is)` | ストリームの変換処理 InputStreamをbyte[]に変換。
    `String` | `toString()` | toString パスを返します。
    `URI` | `toURI()` | canExecuteの実行 クラウド側では未実装のメソッドです。
    `abstract void` | `write​(InputStream is)` | データ書き込み InputStreamのデータを書き込みます。

    - ### クラスから継承されたメソッド org.opengion.fukurou.model.FileOperation

      `equals, getBucket, getPlugin, setPlugin`

    - ### クラスから継承されたメソッド java.io.File

      `compareTo, createTempFile, createTempFile, getCanonicalPath, hashCode, list, list, listFiles, listFiles, listRoots, setExecutable, setExecutable, setReadOnly, toPath, toURL`

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

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

- - ### フィールドの詳細

    - #### conPath

          protected final String conPath

      パス

    - #### conBucket

          protected final String conBucket

      バケット名

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

    - #### CloudFileOperation

          public CloudFileOperation​(String bucket,
                                    String inPath)

      コンストラクタ
      パラメータ:
        `bucket` - バケット名
        `inPath` - ファイルパス

  - ### メソッドの詳細

    - #### write

          public abstract void write​(InputStream is)
                              throws IOException

      データ書き込み InputStreamのデータを書き込みます。
      オーバーライド:
        `write` クラス内 `FileOperation`
      パラメータ:
        `is` - 書き込みデータのInputStream
      例外:
        `IOException` - IO関連のエラー情報

    - #### read

          public abstract InputStream read()
                                    throws FileNotFoundException

      データ読み込み データを読み込み、InputStreamを返します。
      オーバーライド:
        `read` クラス内 `FileOperation`
      戻り値:
        読み込みデータのInputStream
      例外:
        `FileNotFoundException` - ファイル非存在エラー情報

    - #### delete

          public abstract boolean delete()

      ファイル削除 ファイルを削除します。
      オーバーライド:
        `delete` クラス内 `File`
      戻り値:
        成否フラグ

    - #### copy

          public abstract boolean copy​(String afPath)

      ファイルコピー ファイルを指定先にコピーします。
      オーバーライド:
        `copy` クラス内 `FileOperation`
      パラメータ:
        `afPath` - コピー先
      戻り値:
        成否フラグ

    - #### length

          public abstract long length()

      ファイルサイズ取得 ファイルサイズを返します。
      オーバーライド:
        `length` クラス内 `File`
      戻り値:
        ファイルサイズ

    - #### lastModified

          public abstract long lastModified()

      最終更新時刻取得 最終更新時刻を返します。
      オーバーライド:
        `lastModified` クラス内 `File`
      戻り値:
        最終更新時刻

    - #### isFile

          public abstract boolean isFile()

      ファイル判定 ファイルの場合は、trueを返します。
      オーバーライド:
        `isFile` クラス内 `File`
      戻り値:
        ファイルフラグ

    - #### isDirectory

          public abstract boolean isDirectory()

      ディレクトリ判定 ディレクトリの場合は、trueを返します。
      オーバーライド:
        `isDirectory` クラス内 `File`
      戻り値:
        ディレクトリフラグ

    - #### listFiles

          public abstract File[] listFiles​(FileFilter filter)

      一覧取得 パスのファイルと、ディレクトリ一覧を取得します。
      オーバーライド:
        `listFiles` クラス内 `File`
      パラメータ:
        `filter` - ﾌｧｲﾙﾌｨﾙﾀｰ
      戻り値:
        ファイルとティレクトリ一覧

    - #### getParentFile

          public abstract File getParentFile()

      親ディレクトリの取得 親のディレクトリ情報を返します。
      オーバーライド:
        `getParentFile` クラス内 `File`
      戻り値:
        親のディレクトリ

    - #### getPath

          public String getPath()

      ファイルパス取得 ファイルパスを取得します。
      オーバーライド:
        `getPath` クラス内 `File`
      戻り値:
        設定パス

    - #### getAbsolutePath

          public String getAbsolutePath()

      絶対パス取得 絶対パスを取得します。
      オーバーライド:
        `getAbsolutePath` クラス内 `File`
      戻り値:
        絶対パス

    - #### getName

          public String getName()

      ファイル名取得 ファイル名を取得します。
      オーバーライド:
        `getName` クラス内 `File`
      戻り値:
        名称

    - #### getParent

          public String getParent()

      親のパス取得 親のパスを取得します。
      オーバーライド:
        `getParent` クラス内 `File`
      戻り値:
        親のパス

    - #### move

          public boolean move​(String afPath)

      ファイル移動 ファイルを指定先に移動します。
      オーバーライド:
        `move` クラス内 `FileOperation`
      パラメータ:
        `afPath` - 移動先
      戻り値:
        成否フラグ

    - #### exists

          public boolean exists()

      存在チェック 存在する場合は、trueを返します。
      オーバーライド:
        `exists` クラス内 `File`
      戻り値:
        存在フラグ

    - #### mkdir

          public boolean mkdir()

      ディレクトリの作成 ※１つのディレクトリのみ作成します。 クラウドストレージにはディレクトリの概念が無いため、 作成は行わず、trueを返します。
      オーバーライド:
        `mkdir` クラス内 `File`
      戻り値:
        成否フラグ

    - #### mkdirs

          public boolean mkdirs()

      ディレクトリの作成(複数) ※複数のディレクトリを作成します。 クラウドストレージにはディレクトリの概念が無いため、 作成は行わず、trueを返します。
      オーバーライド:
        `mkdirs` クラス内 `File`
      戻り値:
        成否フラグ

    - #### renameTo

          public boolean renameTo​(File dest)

      ファイル名変更 指定のファイル情報のファイル名に変更します。
      オーバーライド:
        `renameTo` クラス内 `File`
      パラメータ:
        `dest` - 変更後のファイル情報
      戻り値:
        成否フラグ

    - #### canWrite

          public boolean canWrite()

      書き込み可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
      オーバーライド:
        `canWrite` クラス内 `File`
      戻り値:
        書き込み可能フラグ

    - #### canRead

          public boolean canRead()

      読み取り可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
      オーバーライド:
        `canRead` クラス内 `File`
      戻り値:
        読み取り可能フラグ

    - #### isHidden

          public boolean isHidden()

      隠しファイルフラグ ※クラウドストレージの場合は、 必ずfalseを返します。
      オーバーライド:
        `isHidden` クラス内 `File`
      戻り値:
        隠しファイルフラグ

    - #### createNewFile

          public boolean createNewFile()
                                throws IOException

      新規ファイル作成 既にファイルが存在しない場合のみ、 空のファイルを作成します。
      オーバーライド:
        `createNewFile` クラス内 `File`
      戻り値:
        成否フラグ
      例外:
        `IOException` - ファイル関連エラー情報

    - #### setLastModified

          public boolean setLastModified​(long time)

      最終更新時刻の更新 最終更新時刻の更新を行います。 ※クラウドストレージの場合は、 最終更新時刻の更新を行えません。
      オーバーライド:
        `setLastModified` クラス内 `File`
      パラメータ:
        `time` - 更新する最終更新時刻
      戻り値:
        成否フラグ

    - #### getCanonicalFile

          public FileOperation getCanonicalFile()
                                         throws IOException

      カノニカルファイル情報の取得 ※ローカルサーバのみ通常ファイルと、 カノニカルファイルで異なります。
      オーバーライド:
        `getCanonicalFile` クラス内 `FileOperation`
      戻り値:
        カノニカルファイル情報
      例外:
        `IOException` - ファイル関連エラー情報

    - #### toString

          public String toString()

      toString パスを返します。
      オーバーライド:
        `toString` クラス内 `File`
      戻り値:
        ファイルパス

    - #### editPath

          protected String editPath​(String path)

      ファイルパスの編集 パスの先頭が「/」の場合は「/」の除去と、「//」を「/」に置換処理の追加。
      パラメータ:
        `path` - ファイルパス
      戻り値:
        変更後パス
      変更履歴:
        5.10.12.2 (2019/06/17) 相対パス対応

    - #### drawParent

          protected String drawParent​(String key)

      親のパスを抽出 キーから親のパスを抽出します。
      パラメータ:
        `key` - キー
      戻り値:
        親のパス

    - #### drawName

          protected String drawName​(String key)

      名称の抽出 引数のkeyから名称を抽出します。
      パラメータ:
        `key` - キー(パス)
      戻り値:
        名称

    - #### setDirTail

          protected String setDirTail​(String path)

      ディレクトリ用のパス編集 後尾に「/」がない場合は、付与します。
      パラメータ:
        `path` - パス
      戻り値:
        後尾に「/」ありのパス

    - #### rTrim

          protected String rTrim​(String str,
                                 char chr)

      右側トリム処理 右側の文字が、指定の文字の場合、除去します。
      パラメータ:
        `str` - 対象文字列
        `chr` - 指定文字
      戻り値:
        右側から指定文字を除去後の文字列

    - #### replaceFileSeparetor

          protected String replaceFileSeparetor​(String path)

      ファイル区切り文字変換 ファイル区切り文字を変換します。
      パラメータ:
        `path` - 変換前文字列
      戻り値:
        返還後文字列

    - #### filter

          protected File[] filter​(List<File> list,
                                  FileFilter filter)

      フィルター処理 フィルター処理を行います。
      パラメータ:
        `list` - フィルタを行うリスト
        `filter` - フィルタ情報
      戻り値:
        フィルタ後のリスト

    - #### toByteArray

          protected byte[] toByteArray​(InputStream is)
                                throws IOException

      ストリームの変換処理 InputStreamをbyte[]に変換。 InputStreamのサイズ計算に利用。
      パラメータ:
        `is` - byte配列変換するInputStream
      戻り値:
        InpusStreamをbyte配列に変換した値
      例外:
        `IOException` - ファイル関連エラー情報

    - #### isLocal

          public boolean isLocal()

      ローカル実行フラグ判定 このabstract クラスの継承クラスはクラウド上で実行されるため、 falseを返します。
      オーバーライド:
        `isLocal` クラス内 `FileOperation`
      戻り値:
        ローカル実行フラグ

    - #### canExecute

          public boolean canExecute()

      canExecuteの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `canExecute` クラス内 `File`
      戻り値:
        フラグ

    - #### deleteOnExit

          public void deleteOnExit()

      deleteOnExitの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `deleteOnExit` クラス内 `File`

    - #### getAbsoluteFile

          public File getAbsoluteFile()

      getAbsoluteFileの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `getAbsoluteFile` クラス内 `File`
      戻り値:
        Fileｵﾌﾞｼﾞｪｸﾄ

    - #### getFreeSpace

          public long getFreeSpace()

      getFreeSpaceの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `getFreeSpace` クラス内 `File`
      戻り値:
        数値

    - #### getTotalSpace

          public long getTotalSpace()

      getTotalSpaceの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `getTotalSpace` クラス内 `File`
      戻り値:
        数値

    - #### getUsableSpace

          public long getUsableSpace()

      getUsableSpaceの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `getUsableSpace` クラス内 `File`
      戻り値:
        数値

    - #### isAbsolute

          public boolean isAbsolute()

      isAbsoluteの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `isAbsolute` クラス内 `File`
      戻り値:
        フラグ

    - #### setReadable

          public boolean setReadable​(boolean readable)

      setReadableの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `setReadable` クラス内 `File`
      パラメータ:
        `readable` - フラグ
      戻り値:
        フラグ

    - #### setReadable

          public boolean setReadable​(boolean readable,
                                     boolean ownerOnly)

      setReadableの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `setReadable` クラス内 `File`
      パラメータ:
        `readable` - フラグ
        `ownerOnly` - フラグ
      戻り値:
        フラグ

    - #### setWritable

          public boolean setWritable​(boolean writable)

      setWritableの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `setWritable` クラス内 `File`
      パラメータ:
        `writable` - フラグ
      戻り値:
        フラグ

    - #### setWritable

          public boolean setWritable​(boolean writable,
                                     boolean ownerOnly)

      canExecuteの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `setWritable` クラス内 `File`
      パラメータ:
        `writable` - フラグ
        `ownerOnly` - フラグ
      戻り値:
        フラグ

    - #### toURI

          public URI toURI()

      canExecuteの実行 クラウド側では未実装のメソッドです。
      オーバーライド:
        `toURI` クラス内 `File`
      戻り値:
        URI情報