Package net.sbbi.upnp.messages
Class ActionMessage
- java.lang.Object
-
- net.sbbi.upnp.messages.ActionMessage
-
public class ActionMessage extends java.lang.Object
Message object for an UPNP action, simply call setInputParameter() to add the required action message params and then service() to receive the ActionResponse built with the parsed UPNP device SOAP xml response.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ActionMessage(Service service, Action serviceAction)
Protected constuctor so that only messages factories can build it
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearInputParameters()
Method to clear all set input parameters so that this object can be reusedActionResponse
service()
Executes the message and retuns the UPNP device response, according to the UPNP specs, this method could take up to 30 secs to process ( time allowed for a device to respond to a request )ActionMessage
setInputParameter(java.lang.String parameterName, boolean parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, byte parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, double parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, float parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, int parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, long parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, short parameterValue)
Set the value of an input parameter before a message service callActionMessage
setInputParameter(java.lang.String parameterName, java.lang.Object parameterValue)
Set the value of an input parameter before a message service call.ActionMessage
setInputParameter(java.lang.String parameterName, java.lang.String parameterValue)
Set the value of an input parameter before a message service call.ActionMessage
setInputParameter(java.lang.String parameterName, java.util.Date parameterValue)
Set the value of an input parameter before a message service call
-
-
-
Method Detail
-
clearInputParameters
public void clearInputParameters()
Method to clear all set input parameters so that this object can be reused
-
service
public ActionResponse service() throws java.io.IOException, UPNPResponseException
Executes the message and retuns the UPNP device response, according to the UPNP specs, this method could take up to 30 secs to process ( time allowed for a device to respond to a request )- Returns:
- a response object containing the UPNP parsed response
- Throws:
java.io.IOException
- if some IOException occurs during message send and reception processUPNPResponseException
- if an UPNP error message is returned from the server or if some parsing exception occurs ( detailErrorCode = 899, detailErrorDescription = SAXException message )
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, java.lang.Object parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call. If the param name already exists, the param value will be overwritten with the new value provided.- Parameters:
parameterName
- the parameter nameparameterValue
- the parameter value as an object, primitive object are handled, all other object will be assigned with a call to their toString() method call- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, java.lang.String parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call. If the param name already exists, the param value will be overwritten with the new value provided- Parameters:
parameterName
- the parameter nameparameterValue
- the string parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, java.util.Date parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the date parameter value, will be automatically translated to the correct ISO 8601 date format for the given action input param related state variable- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, boolean parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the boolean parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, byte parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the byte parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, short parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the short parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, int parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the integer parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, long parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the long parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, float parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the float parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
setInputParameter
public ActionMessage setInputParameter(java.lang.String parameterName, double parameterValue) throws java.lang.IllegalArgumentException
Set the value of an input parameter before a message service call- Parameters:
parameterName
- the parameter nameparameterValue
- the double parameter value- Returns:
- the current ActionMessage object instance
- Throws:
java.lang.IllegalArgumentException
- if the provided parameterName is not valid for this message or if no input parameters are required for this message
-
-