/* SmartDevice.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.uiapp.data; import android.os.Parcel; import android.os.Parcelable; import java.util.ArrayList; import java.util.List; /** * Device Connect スマートサービス. */ public class DCService implements Parcelable { /** * サービス名. */ private String mName; /** * サービス種別. */ private String mType; /** * サービスID. */ private String mId; /** * オンラインフラグ. */ private boolean mOnline; /** * サービスリスト. */ private List<DCProfile> mServiceList = new ArrayList<>(); /** * コンストラクタ. * @param id サービスID * @param name サービス名 */ public DCService(final String id, final String name) { setId(id); setName(name); } /** * Parcelableコンストラクタ. * @param in 入力 */ private DCService(final Parcel in) { setName(in.readString()); setType(in.readString()); setId(in.readString()); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(final Parcel dest, final int flags) { dest.writeString(mName); dest.writeString(mType); dest.writeString(mId); } @Override public String toString() { return mName; } /** * サービスIDを設定する. * @param id サービスID */ public void setId(final String id) { mId = id; } /** * サービス名を設定する. * @param name サービス名 */ public void setName(final String name) { mName = name; } /** * サービス種別を設定する. * @param type サービス種別 */ public void setType(final String type) { mType = type; } /** * サービス名. * @return サービス名 */ public String getName() { return mName; } /** * サービス種別を取得する. * @return サービス種別 */ public String getType() { return mType; } /** * サービスIDを取得する. * @return サービスID */ public String getId() { return mId; } /** * サービスの接続状態を取得する. * @return サービスの接続状態 */ public boolean isOnline() { return mOnline; } /** * サービスの接続状態を設定する. * @param online サービスの接続状態 */ public void setOnline(boolean online) { mOnline = online; } /** * サービスリストを取得する. * @return サービスリスト */ public List<DCProfile> getServiceList() { return mServiceList; } /** * サービスを追加する. * @param service サービス */ public void addService(final DCProfile service) { mServiceList.add(service); } /** * サービスを削除する. * @param service サービス */ public void removeService(final DCProfile service) { mServiceList.remove(service); } /** * Parcelableクリエイター. */ public static final Parcelable.Creator<DCService> CREATOR = new Parcelable.Creator<DCService>() { @Override public DCService createFromParcel(final Parcel in) { return new DCService(in); } @Override public DCService[] newArray(final int size) { return new DCService[size]; } }; }