Package org.astrogrid.samp

# Class Message

java.lang.Object
java.util.AbstractMap
org.astrogrid.samp.SampMap
org.astrogrid.samp.Message

All Implemented Interfaces:
  `Map`

public class Message extends SampMap
Represents an encoded SAMP Message.

Since:
  14 Jul 2008
Author:
  Mark Taylor

## Nested Class Summary

## Nested classes/interfaces inherited from class java.util.AbstractMap

`AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

## Nested classes/interfaces inherited from interface java.util.Map

`Map.Entry<K,V>`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`MTYPE_KEY`
Key for message MType.
`static final String`
`PARAMS_KEY`
Key for map of parameters used by this message.

### Fields inherited from class org.astrogrid.samp.SampMap

`EMPTY`

## Constructor Summary

Constructors
Constructor
Description
`Message()`
Constructs an empty message.
`Message(String mtype)`
Constructs a message with a given MType.
`Message(String mtype, Map params)`
Constructs a message with a given MType and params map.
`Message(Map map)`
Constructs a message based on an existing map.

## Method Summary

Modifier and Type
Method
Description
`Message`
`addParam(String name, Object value)`
Sets the value for a single entry in this message's `samp.params` map.
`static Message`
`asMessage(Map map)`
Returns a given map as a Message object.
`void`
`check()`
Checks that this object is ready for use with the SAMP toolkit.
`String`
`getMType()`
Returns this message's MType.
`Object`
`getParam(String name)`
Returns the value of a single entry in this message's `samp.params` map.
`Map`
`getParams()`
Returns this message's params map.
`Object`
`getRequiredParam(String name)`
Returns the value of a single entry in this message's `samp.params` map, throwing an exception if it is not present.
`void`
`setParams(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`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll`

## Field Details

### MTYPE_KEY

public static final String MTYPE_KEY
Key for message MType.

See Also:
  - Constant Field Values

### PARAMS_KEY

public static final String PARAMS_KEY
Key for map of parameters used by this message.

See Also:
  - Constant Field Values

## Constructor Details

### Message

public Message()
Constructs an empty message.

### Message

public Message(Map map)
Constructs a message based on an existing map.

Parameters:
  `map` - map containing initial data for this object

### Message

public Message(String mtype, Map params)
Constructs a message with a given MType and params map.

Parameters:
  `mtype` - value for `MTYPE_KEY` key
  `params` - value for `PARAMS_KEY` key

### Message

public Message(String mtype)
Constructs a message with a given MType. The parameters map will be mutable.

Parameters:
  `mtype` - value for `MTYPE_KEY` key

## Method Details

### getMType

public String getMType()
Returns this message's MType.

Returns:
  value for `MTYPE_KEY`

### setParams

public void setParams(Map params)
Sets this message's params map.

Parameters:
  `params` - value for `PARAMS_KEY`

### getParams

public Map getParams()
Returns this message's params map.

Returns:
  value for `PARAMS_KEY`

### addParam

public Message addParam(String name, Object value)
Sets the value for a single entry in this message's `samp.params` map.

Parameters:
  `name` - param name
  `value` - param value

### getParam

public Object getParam(String name)
Returns the value of a single entry in this message's `samp.params` map. Null is returned if the parameter does not appear.

Parameters:
  `name` - param name
Returns:
  param value, or null

### getRequiredParam

public Object getRequiredParam(String name)
Returns the value of a single entry in this message's `samp.params` map, throwing an exception if it is not present.

Parameters:
  `name` - param name
Returns:
  param value
Throws:
  `DataException` - if no parameter `name` 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 calling `SampUtils.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 informative `DataException` will be thrown.

Overrides:
  `check` in class `SampMap`

### asMessage

public static Message asMessage(Map map)
Returns a given map as a Message object.

Parameters:
  `map` - map
Returns:
  message