/* EventCacheController.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.event.cache; import org.deviceconnect.android.event.Event; import org.deviceconnect.android.event.EventError; import java.util.List; /** * イベントデータ操作インターフェース. * イベントデータの追加、削除、保存、検索の機能を提供する。 * * * @author NTT DOCOMO, INC. */ public interface EventCacheController { /** * イベントデータをキャッシュに追加する. * * @param event イベントデータ * @return 処理結果 */ EventError addEvent(Event event); /** * イベントデータをキャッシュから削除する. * * @param event イベントデータ * @return 処理結果 */ EventError removeEvent(Event event); /** * 指定されたオリジンに紐づくイベント情報を全て削除する. * * @param origin オリジン * @return 成功の場合true、その他はfalseを返す */ boolean removeEvents(String origin); /** * キャッシュからデータを全て削除する. * @return 成功の場合true、その他はfalseを返す */ boolean removeAll(); /** * キャッシュから指定された条件に合うイベントデータを取得する. * * @param serviceId サービスID * @param profile プロファイル名 * @param inter インターフェース名 * @param attribute 属性名 * @param origin オリジン * @param receiver レシーバー名 * @return イベントデータ。条件に合うものが無い場合はnullを返す。 */ Event getEvent(String serviceId, String profile, String inter, String attribute, String origin, String receiver); /** * キャッシュから条件にあうイベントデータの一覧を取得する. * * @param serviceId サービスID * @param profile プロファイル名 * @param inter インターフェース名 * @param attribute 属性名 * @return イベントデータの一覧。無い場合は空のリストを返す。 */ List<Event> getEvents(String serviceId, String profile, String inter, String attribute); List<Event> getEvents(String sessionKey); /** * キャッシュデータをフラッシュする. */ void flush(); }