org.opengion.fukurou.model

## クラス CloudFileOperation

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

- すべての実装されたインタフェース:
    java.io.Serializable, java.lang.Comparable<java.io.File>
  直系の既知のサブクラス:
    FileOperation_AWS, FileOperation_AZURE, FileOperation_IBM, FileOperation_ORACLE, 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 java.lang.String` | `conBucket`
    `protected java.lang.String` | `conPath`

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

      `pathSeparator, pathSeparatorChar, separator, separatorChar`

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

    コンストラクタ
    コンストラクタと説明
    `CloudFileOperation(java.lang.String bucket, java.lang.String inPath)` コンストラクタ

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `boolean` | `canExecute()` canExecuteの実行 クラウド側では未実装のメソッドです。
    `boolean` | `canRead()` 読み取り可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
    `boolean` | `canWrite()` 書き込み可能フラグ ※クラウドストレージの場合は、 存在すればtrueを返します。
    `abstract boolean` | `copy(java.lang.String afPath)` ファイルコピー ファイルを指定先にコピーします。
    `boolean` | `createNewFile()` 新規ファイル作成 既にファイルが存在しない場合のみ、 空のファイルを作成します。
    `abstract boolean` | `delete()` ファイル削除 ファイルを削除します。
    `void` | `deleteOnExit()` deleteOnExitの実行 クラウド側では未実装のメソッドです。
    `protected java.lang.String` | `drawName(java.lang.String key)` 名称の抽出 引数のkeyから名称を抽出します。
    `protected java.lang.String` | `drawParent(java.lang.String key)` 親のパスを抽出 キーから親のパスを抽出します。
    `protected java.lang.String` | `editPath(java.lang.String path)` ファイルパスの編集 パスの先頭が「/」の場合は「/」の除去と、「//」を「/」に置換処理の追加。
    `boolean` | `exists()` 存在チェック 存在する場合は、trueを返します。
    `protected java.io.File[]` | `filter(java.util.List<java.io.File> list, java.io.FileFilter filter)` フィルター処理 フィルター処理を行います。
    `java.io.File` | `getAbsoluteFile()` getAbsoluteFileの実行 クラウド側では未実装のメソッドです。
    `java.lang.String` | `getAbsolutePath()` 絶対パス取得 絶対パスを取得します。
    `FileOperation` | `getCanonicalFile()` カノニカルファイル情報の取得 ※ローカルサーバのみ通常ファイルと、 カノニカルファイルで異なります。
    `long` | `getFreeSpace()` getFreeSpaceの実行 クラウド側では未実装のメソッドです。
    `java.lang.String` | `getName()` ファイル名取得 ファイル名を取得します。
    `java.lang.String` | `getParent()` 親のパス取得 親のパスを取得します。
    `abstract java.io.File` | `getParentFile()` 親ディレクトリの取得 親のディレクトリ情報を返します。
    `java.lang.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 java.io.File[]` | `listFiles(java.io.FileFilter filter)` 一覧取得 パスのファイルと、ディレクトリ一覧を取得します。
    `boolean` | `mkdir()` ディレクトリの作成 ※１つのディレクトリのみ作成します。
    `boolean` | `mkdirs()` ディレクトリの作成(複数) ※複数のディレクトリを作成します。
    `boolean` | `move(java.lang.String afPath)` ファイル移動 ファイルを指定先に移動します。
    `abstract java.io.InputStream` | `read()` データ読み込み データを読み込み、InputStreamを返します。
    `boolean` | `renameTo(java.io.File dest)` ファイル名変更 指定のファイル情報のファイル名に変更します。
    `protected java.lang.String` | `replaceFileSeparetor(java.lang.String path)` ファイル区切り文字変換 ファイル区切り文字を変換します。
    `protected java.lang.String` | `rTrim(java.lang.String str, char chr)` 右側トリム処理 右側の文字が、指定の文字の場合、除去します。
    `protected java.lang.String` | `setDirTail(java.lang.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(java.io.InputStream is)` ストリームの変換処理 InputStreamをbyte[]に変換。
    `java.lang.String` | `toString()` toString パスを返します。
    `java.net.URI` | `toURI()` canExecuteの実行 クラウド側では未実装のメソッドです。
    `abstract void` | `write(java.io.InputStream is)` データ書き込み InputStreamのデータを書き込みます。

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

      `getBucket, getPlugin, setPlugin`

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

      `compareTo, createTempFile, createTempFile, equals, 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 java.lang.String conPath

    - #### conBucket

          protected final java.lang.String conBucket

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

    - #### CloudFileOperation

          public CloudFileOperation(java.lang.String bucket,
                            java.lang.String inPath)

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

  - ### メソッドの詳細

    - #### write

          public abstract void write(java.io.InputStream is)
                              throws java.io.IOException

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

    - #### read

          public abstract java.io.InputStream read()
                                            throws java.io.FileNotFoundException

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

    - #### delete

          public abstract boolean delete()

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

    - #### copy

          public abstract boolean copy(java.lang.String afPath)

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

    - #### length

          public abstract long length()

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

    - #### lastModified

          public abstract long lastModified()

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

    - #### isFile

          public abstract boolean isFile()

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

    - #### isDirectory

          public abstract boolean isDirectory()

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

    - #### listFiles

          public abstract java.io.File[] listFiles(java.io.FileFilter filter)

      一覧取得 パスのファイルと、ディレクトリ一覧を取得します。
      オーバーライド:
        `listFiles` クラス内 `java.io.File`
      戻り値:
        ファイルとティレクトリ一覧

    - #### getParentFile

          public abstract java.io.File getParentFile()

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

    - #### getPath

          public java.lang.String getPath()

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

    - #### getAbsolutePath

          public java.lang.String getAbsolutePath()

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

    - #### getName

          public java.lang.String getName()

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

    - #### getParent

          public java.lang.String getParent()

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

    - #### move

          public boolean move(java.lang.String afPath)

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

    - #### exists

          public boolean exists()

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

    - #### mkdir

          public boolean mkdir()

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

    - #### mkdirs

          public boolean mkdirs()

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

    - #### renameTo

          public boolean renameTo(java.io.File dest)

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

    - #### canWrite

          public boolean canWrite()

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

    - #### canRead

          public boolean canRead()

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

    - #### isHidden

          public boolean isHidden()

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

    - #### createNewFile

          public boolean createNewFile()
                                throws java.io.IOException

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

    - #### setLastModified

          public boolean setLastModified(long time)

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

    - #### getCanonicalFile

          public FileOperation getCanonicalFile()
                                         throws java.io.IOException

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

    - #### toString

          public java.lang.String toString()

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

    - #### editPath

          protected java.lang.String editPath(java.lang.String path)

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

    - #### drawParent

          protected java.lang.String drawParent(java.lang.String key)

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

    - #### drawName

          protected java.lang.String drawName(java.lang.String key)

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

    - #### setDirTail

          protected java.lang.String setDirTail(java.lang.String path)

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

    - #### rTrim

          protected java.lang.String rTrim(java.lang.String str,
                               char chr)

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

    - #### replaceFileSeparetor

          protected java.lang.String replaceFileSeparetor(java.lang.String path)

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

    - #### filter

          protected java.io.File[] filter(java.util.List<java.io.File> list,
                              java.io.FileFilter filter)

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

    - #### toByteArray

          protected byte[] toByteArray(java.io.InputStream is)
                                throws java.io.IOException

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

    - #### isLocal

          public boolean isLocal()

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

    - #### canExecute

          public boolean canExecute()

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

    - #### deleteOnExit

          public void deleteOnExit()

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

    - #### getAbsoluteFile

          public java.io.File getAbsoluteFile()

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

    - #### getFreeSpace

          public long getFreeSpace()

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

    - #### getTotalSpace

          public long getTotalSpace()

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

    - #### getUsableSpace

          public long getUsableSpace()

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

    - #### isAbsolute

          public boolean isAbsolute()

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

    - #### setReadable

          public boolean setReadable(boolean readable)

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

    - #### setReadable

          public boolean setReadable(boolean readable,
                            boolean ownerOnly)

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

    - #### setWritable

          public boolean setWritable(boolean writable)

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

    - #### setWritable

          public boolean setWritable(boolean writable,
                            boolean ownerOnly)

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

    - #### toURI

          public java.net.URI toURI()

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

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.