HeartbeatInfo.java
- package gov.usgs.earthquake.distribution;
- import java.util.Date;
- import javax.json.Json;
- import javax.json.JsonObject;
- /**
- * HeartbeatInfo stores a single heartbeat key/value message, together with a
- * timestamp
- *
- * @author tene
- *
- */
- public class HeartbeatInfo {
- private String message = null;
- private Date date = null;
- /**
- * Message constructor
- *
- * @param message string
- * @param date Date
- */
- public HeartbeatInfo(String message, Date date) {
- this.message = message;
- this.date = date;
- }
- /**
- * @return message contents
- */
- public String getMessage() {
- return message;
- }
- /**
- * @return message timestamp
- */
- public Date getDate() {
- return date;
- }
- /**
- * Set message content
- *
- * @param message string to set
- */
- public void setMessage(String message) {
- this.message = message;
- }
- /**
- * Set message timestamp
- *
- * @param date to set
- */
- public void setDate(Date date) {
- this.date = date;
- }
- /**
- * Test if a message is older than a purgeDate
- *
- * @param purgeDate Date
- * @return true if {@link #getDate()} is before purgeDate
- */
- public boolean isExpired(Date purgeDate) {
- return date.before(purgeDate);
- }
- /**
- * @return JSON object of the message
- */
- public JsonObject toJsonObject() {
- JsonObject object = Json.createObjectBuilder()
- .add("message", message)
- .add("date", String.valueOf(date.getTime()))
- .build();
- return object;
- }
- }