/* DevicePluginXmlProfile.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.localoauth; import java.util.HashMap; import java.util.Map; /** * DevicePlugin.xmlのProfile設定値. * @author NTT DOCOMO, INC. */ public class DevicePluginXmlProfile { /** プロファイル. */ protected String mProfile; /** 有効期限(秒). */ protected long mExpirePeriod; /** ロケール別プロファイル情報. */ protected Map<String, DevicePluginXmlProfileLocale> mProfileLocales; /** プロファイル定義ディレクトリのパス. nullの場合は assets/api と同じ扱いとする. */ private String mSpecPath; /** * コンストラクタ. * @param profile プロファイル名 * @param expirePeriod 有効期限(秒) */ public DevicePluginXmlProfile(final String profile, final long expirePeriod) { mProfile = profile; mExpirePeriod = expirePeriod; mProfileLocales = new HashMap<String, DevicePluginXmlProfileLocale>(); } /** * プロファイル名を返す. * @return プロファイル名 */ public String getProfile() { return mProfile; } /** * 有効期限(秒)を返す. * @return 有効期限(秒) */ public long getExpirePeriod() { return mExpirePeriod; } /** * ローカライズされたプロファイル名を設定する. * @param lang ロケール文字列 * @param name ローカライズされたプロファイル名 */ public void putName(final String lang, final String name) { DevicePluginXmlProfileLocale locale = mProfileLocales.get(lang); if (locale != null) { locale.setName(name); } else { locale = new DevicePluginXmlProfileLocale(lang); locale.setName(name); mProfileLocales.put(lang, locale); } } /** * ローカライズされたプロファイル名を設定する. * @param lang ロケール文字列 * @param description ローカライズされたDescription */ public void putDescription(final String lang, final String description) { DevicePluginXmlProfileLocale locale = mProfileLocales.get(lang); if (locale != null) { locale.setDescription(description); } else { locale = new DevicePluginXmlProfileLocale(lang); locale.setDescription(description); mProfileLocales.put(lang, locale); } } /** * Locales配列を返す. * @return Locales配列 */ public Map<String, DevicePluginXmlProfileLocale> getXmlProfileLocales() { return mProfileLocales; } /** * プロファイル定義ディレクトリのパスを設定する. * @param path プロファイル定義ディレクトリのパス */ public void setSpecPath(final String path) { mSpecPath = path; } /** * プロファイル定義ディレクトリのパスを取得する. * @return プロファイル定義ディレクトリのパス */ public String getSpecPath() { return mSpecPath; } }