package org.deviceconnect.android.deviceplugin.host.file; import java.io.File; /** * ファイルデータクラス. */ public class FileData { /** * ファイルフラグ. */ public enum Flag { /** * 未定義値. */ UNKNOWN("Unknown"), /** * 読み込みのみ. */ R("r"), /** * 読み込み書き込み. */ RW("rw"); /** * 定義値. */ private String mValue; /** * 指定された文字列を定義する列挙値を生成する. * * @param value 定義値 */ private Flag(final String value) { mValue = value; } /** * 定義値を取得する. * * @return 定義値 */ public String getValue() { return mValue; } /** * 定義値から定数を取得する. * * @param value 定義値 * @return 定数。無い場合はnullを返す。 */ public static Flag getInstance(final String value) { for (Flag flag : values()) { if (flag.mValue.equals(value)) { return flag; } } return UNKNOWN; } }; /** Fileを保持する変数. */ private File mFile; /** File mode. */ private Flag mFlag = null; /** * ファイルを設定する. * @param file ファイル */ public void setFile(final File file) { mFile = file; } /** * ファイルモードを設定する. * @param flag ファイルモード */ public void setFlag(final Flag flag) { mFlag = flag; } /** * ファイルモードを取得する. * @return ファイルモード */ public Flag getFlag() { return mFlag; } /** * ファイルパスを取得する. * @return ファイルパス */ public String getPath() { return mFile.getAbsolutePath(); } /** * ファイル名を取得する. * @return ファイル名 */ public String getName() { return mFile.getName(); } }