package com.kii.thingif.command;

import android.content.Context;

import com.kii.thingif.KiiApp;
import com.kii.thingif.Owner;
import com.kii.thingif.trigger.Predicate;
import com.kii.thingif.trigger.TriggerOptions;
import com.kii.thingif.trigger.TriggeredCommandForm;

import java.util.Map;

/**
 * Marks a class as a single action. The action class should implement this interface and have only
 * one field as value of the action.
 * <br>
 * SDK serializes Action objects using
 * <a href="https://github.com/google/gson/blob/master/UserGuide.md#TOC-Object-Examples">Gson </a>,
 * when calling the following APIs:
 * <ul>
 * <li>{@link com.kii.thingif.ThingIFAPI#postNewCommand(CommandForm)}
 * <li>{@link com.kii.thingif.ThingIFAPI#postNewTrigger(TriggeredCommandForm, Predicate, TriggerOptions)}
 * </ul>
 * <br><br>
 * When parsing json formatted action from kii cloud server, SDK uses Gson too. You must register
 * class of Action to ThingIFAPI instance when constructed API:
 * <ul>
 * <li>{@link com.kii.thingif.ThingIFAPI.Builder#registerAction(String, String, Class)} (String, Class)}.
 * </ul>
 *
 */
public interface Action {
    String getActionName();
}

@@ -31,102 +31,8 @@
 d;%0A%0A
-import android.content.Context;%0A%0Aimport com.kii.thingif.KiiApp;%0Aimport com.kii.thingif.Owner;%0A
 impo
@@ -174,31 +174,8 @@
 m;%0A%0A
-import java.util.Map;%0A%0A
 /**%0A
@@ -270,51 +270,234 @@
 d ha
-ve only
+s one
 %0A * 
-one field as value of the
+field to hold value of the action. You either make name of this field same as action name or%0A * use %7B@link com.google.gson.annotations.SerializedName%7D annotation and make value of serializedName%0A * same as
  action
+ name
 .%0A *
@@ -1204,34 +1204,6 @@
 n %7B%0A
-    String getActionName();%0A
 %7D%0A

change Action