package cn.axzo.msg.center.nimpush.payload.intent;

/**
 * @author yanglin
 */
public interface Intent<T> {

    String INTENT_ROUTER = "router";
    String INTENT_SOUND = "sound";
    String INTENT_TYPE = "type";
    String INTENT_SESSION_TYPE = "sessionType";
    String INTENT_SESSION_ID = "sessionId";
    String INTENT_WORKSPACE_ID = "workspaceId";
    String INTENT_OU_ID = "ouId";

    void setValue(String key, IntentValue value);

    T build();

    // !! helper

    static void setRouter(Intent<?> intent, IntentValue router) {
        intent.setValue(INTENT_ROUTER, router);
    }

}