/*
 * Copyright 2016 Red Hat Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.vertx.mqtt;

import io.vertx.codegen.annotations.DataObject;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.json.JsonObject;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

Will information from the remote MQTT client
/** * Will information from the remote MQTT client */
@DataObject public class MqttWill { private final boolean isWillFlag; private final String willTopic; private final Buffer willMessage; private final int willQos; private final boolean isWillRetain;
Constructor
Params:
  • isWillFlag – indicates will message presence
  • willTopic – topic to publish the will
  • willMessage – payload of the will
  • willQos – qos level for the will
  • isWillRetain – if the will message must be retained
/** * Constructor * * @param isWillFlag indicates will message presence * @param willTopic topic to publish the will * @param willMessage payload of the will * @param willQos qos level for the will * @param isWillRetain if the will message must be retained */
public MqttWill(boolean isWillFlag, String willTopic, Buffer willMessage, int willQos, boolean isWillRetain) { this.isWillFlag = isWillFlag; this.willTopic = willTopic; this.willMessage = willMessage; this.willQos = willQos; this.isWillRetain = isWillRetain; }
Create instance from JSON
Params:
  • json – the JSON
/** * Create instance from JSON * * @param json the JSON */
public MqttWill(JsonObject json) { this.isWillFlag = json.getBoolean("isWillFlag"); this.willTopic = json.getString("willTopic"); this.willMessage = json.getBuffer("willMessage"); this.willQos = json.getInteger("willQos"); this.isWillRetain = json.getBoolean("isWillRetain"); }
Returns:the will flag for indicating the will message presence
/** * @return the will flag for indicating the will message presence */
public boolean isWillFlag() { return this.isWillFlag; }
Returns:the topic for the will as provided by the remote MQTT client
/** * @return the topic for the will as provided by the remote MQTT client */
public String getWillTopic() { return this.willTopic; }
Returns:the payload for the will as provided by the remote MQTT client
/** * @return the payload for the will as provided by the remote MQTT client */
public Buffer getWillMessage() { return this.willMessage; }
Returns:the payload for the will as provided by the remote MQTT client
/** * @return the payload for the will as provided by the remote MQTT client */
public byte[] getWillMessageBytes() { return this.willMessage != null ? this.willMessage.getBytes() : null; }
Returns:the QoS level for the will as provided by the remote MQTT client
/** * @return the QoS level for the will as provided by the remote MQTT client */
public int getWillQos() { return this.willQos; }
Returns:true if the will must be retained as provided by the remote MQTT client
/** * @return true if the will must be retained as provided by the remote MQTT client */
public boolean isWillRetain() { return this.isWillRetain; }
Convert instance in JSON
Returns:JSON representation
/** * Convert instance in JSON * * @return JSON representation */
public JsonObject toJson() { JsonObject json = new JsonObject(); json.put("isWillFlag", this.isWillFlag); json.put("willTopic", this.willTopic); json.put("willMessage", this.willMessage); json.put("willQos", this.willQos); json.put("isWillRetain", this.isWillRetain); return json; } }