001package org.xbib.elasticsearch.websocket;
002
003import org.elasticsearch.common.unit.TimeValue;
004
005import java.util.Map;
006
007/**
008 * The InteractiveRequest manages parameters in an interaction.
009 */
010public interface InteractiveRequest {
011
012    Map<String, Object> asMap();
013
014    boolean hasParam(String key);
015
016    Object param(String key);
017
018    String paramAsString(String key);
019
020    String paramAsString(String key, String defaultValue);
021
022    long paramAsLong(String key);
023
024    long paramAsLong(String key, long defaultValue);
025
026    boolean paramAsBoolean(String key);
027
028    boolean paramAsBoolean(String key, boolean defaultValue);
029
030    TimeValue paramAsTime(String key);
031
032    TimeValue paramAsTime(String key, TimeValue defaultValue);
033
034}