Package org.astrogrid.samp
Class Message
- java.lang.Object
-
- java.util.AbstractMap
-
- org.astrogrid.samp.SampMap
-
- org.astrogrid.samp.Message
-
- All Implemented Interfaces:
java.util.Map
public class Message extends SampMap
Represents an encoded SAMP Message.- Since:
- 14 Jul 2008
- Author:
- Mark Taylor
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MTYPE_KEY
Key for message MType.static java.lang.String
PARAMS_KEY
Key for map of parameters used by this message.
-
Constructor Summary
Constructors Constructor Description Message()
Constructs an empty message.Message(java.lang.String mtype)
Constructs a message with a given MType.Message(java.lang.String mtype, java.util.Map params)
Constructs a message with a given MType and params map.Message(java.util.Map map)
Constructs a message based on an existing map.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Message
addParam(java.lang.String name, java.lang.Object value)
Sets the value for a single entry in this message'ssamp.params
map.static Message
asMessage(java.util.Map map)
Returns a given map as a Message object.void
check()
Checks that this object is ready for use with the SAMP toolkit.java.lang.String
getMType()
Returns this message's MType.java.lang.Object
getParam(java.lang.String name)
Returns the value of a single entry in this message'ssamp.params
map.java.util.Map
getParams()
Returns this message's params map.java.lang.Object
getRequiredParam(java.lang.String name)
Returns the value of a single entry in this message'ssamp.params
map, throwing an exception if it is not present.void
setParams(java.util.Map params)
Sets this message's params map.-
Methods inherited from class org.astrogrid.samp.SampMap
checkHasKeys, entrySet, getList, getMap, getString, getUrl, put
-
Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, putAll, remove, size, toString, values
-
-
-
-
Field Detail
-
MTYPE_KEY
public static final java.lang.String MTYPE_KEY
Key for message MType.- See Also:
- Constant Field Values
-
PARAMS_KEY
public static final java.lang.String PARAMS_KEY
Key for map of parameters used by this message.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Message
public Message()
Constructs an empty message.
-
Message
public Message(java.util.Map map)
Constructs a message based on an existing map.- Parameters:
map
- map containing initial data for this object
-
Message
public Message(java.lang.String mtype, java.util.Map params)
Constructs a message with a given MType and params map.- Parameters:
mtype
- value forMTYPE_KEY
keyparams
- value forPARAMS_KEY
key
-
Message
public Message(java.lang.String mtype)
Constructs a message with a given MType. The parameters map will be mutable.- Parameters:
mtype
- value forMTYPE_KEY
key
-
-
Method Detail
-
getMType
public java.lang.String getMType()
Returns this message's MType.- Returns:
- value for
MTYPE_KEY
-
setParams
public void setParams(java.util.Map params)
Sets this message's params map.- Parameters:
params
- value forPARAMS_KEY
-
getParams
public java.util.Map getParams()
Returns this message's params map.- Returns:
- value for
PARAMS_KEY
-
addParam
public Message addParam(java.lang.String name, java.lang.Object value)
Sets the value for a single entry in this message'ssamp.params
map.- Parameters:
name
- param namevalue
- param value
-
getParam
public java.lang.Object getParam(java.lang.String name)
Returns the value of a single entry in this message'ssamp.params
map. Null is returned if the parameter does not appear.- Parameters:
name
- param name- Returns:
- param value, or null
-
getRequiredParam
public java.lang.Object getRequiredParam(java.lang.String name)
Returns the value of a single entry in this message'ssamp.params
map, throwing an exception if it is not present.- Parameters:
name
- param name- Returns:
- param value
- Throws:
DataException
- if no parametername
is present
-
check
public void check()
Description copied from class:SampMap
Checks that this object is ready for use with the SAMP toolkit. As well as callingSampUtils.checkMap(java.util.Map)
(ensuring that all keys are Strings, and all values Strings, Lists or Maps), subclass-specific invariants may be checked. In the case that there's something wrong, an informativeDataException
will be thrown.
-
asMessage
public static Message asMessage(java.util.Map map)
Returns a given map as a Message object.- Parameters:
map
- map- Returns:
- message
-
-