/* DConnectApi.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.profile.api; import android.content.Intent; import org.deviceconnect.android.profile.spec.DConnectApiSpec; import org.deviceconnect.android.profile.spec.DConnectSpecConstants; /** * Device Connect APIクラス. * @author NTT DOCOMO, INC. */ public abstract class DConnectApi implements DConnectSpecConstants { /** * {@link DConnectApi}の子クラスで実装されるAPI仕様. */ private DConnectApiSpec mApiSpec; /** * インターフェース名を取得する. * @return インターフェース名 */ public String getInterface() { return null; } /** * アトリビュート名を取得する. * @return アトリビュート名 */ public String getAttribute() { return null; } /** * メソッドを取得する. * @return メソッド */ public abstract Method getMethod(); /** * API仕様を取得する. * @return API仕様 */ public DConnectApiSpec getApiSpec() { return mApiSpec; } /** * API仕様を設定する. * @param apiSpec API仕様 */ public void setApiSpec(final DConnectApiSpec apiSpec) { mApiSpec = apiSpec; } /** * RESPONSEメソッドハンドラー.<br> * リクエストパラメータに応じてデバイスのサービスを提供し、その結果をレスポンスパラメータに格納する。 * レスポンスパラメータの送信準備が出来た場合は返り値にtrueを指定する事。 * 送信準備ができていない場合は、返り値にfalseを指定し、スレッドを立ち上げてそのスレッドで最終的にレスポンスパラメータの送信を行う事。 * * @param request リクエストパラメータ * @param response レスポンスパラメータ * @return レスポンスパラメータを送信するか否か */ public abstract boolean onRequest(final Intent request, final Intent response); }