package com.amazonaws.mobileconnectors.iot;
/**
* Defines the Last Will and Testament parameters for the AWSIotMqttManager.
*/
public class AWSIotMqttLastWillAndTestament {
/** The topic on which the will message will be delivered. */
private String topic;
/** Message payload of will message. */
private String message;
/** The quality of service requested for the will message. */
private AWSIotMqttQos qos;
// Currently AWS IoT does not support retained.
//public Boolean willRetained;
/**
* Create a new LWT parameter object.
* @param willTopic the topic on which the will message will be delivered.
* @param willMessage payload of will message.
* @param willQos the quality of service requested for the will message.
*/
public AWSIotMqttLastWillAndTestament(String willTopic, String willMessage, AWSIotMqttQos willQos) {
if (willTopic == null || willTopic.isEmpty()) {
throw new IllegalArgumentException("LWT topic cannot be null");
}
if (willMessage == null) {
throw new IllegalArgumentException("LWT message cannot be null");
}
if (willQos == null) {
throw new IllegalArgumentException("LWT QoS cannot be null");
}
topic = willTopic;
message = willMessage;
qos = willQos;
}
/**
* Get the LWT topic.
* @return the topic on which the will message will be delivered.
*/
public String getTopic() {
return topic;
}
/**
* Get the LWT message to be delivered.
* @return the message payload of the LWT message.
*/
public String getMessage() {
return message;
}
/**
* Get the Quality of Service for the LWT message.
* @return the quality of service requested for the will message.
*/
public AWSIotMqttQos getQos() {
return qos;
}
}