/** * Create a clone of this Goal. */ @Override public GoalMessage clone() { return new GoalMessage(this.header, this.id, this.goal); }
public void submit(JsonObject goal) { client.initialize(); client.goals.put(getId(), this); GoalMessage goalMessage = new GoalMessage(goalId, goal); client.getGoalTopic().publish(goalMessage); }
/** * Create a new Goal based on the given JSON object. Any missing values * will be set to their defaults. * * @param jsonObject * The JSON object to parse. * @return A Goal message based on the given JSON object. */ public static GoalMessage fromJsonObject(JsonObject jsonObject) { Header header = jsonObject.containsKey(GoalMessage.FIELD_HEADER) ? Header.fromJsonObject(jsonObject.getJsonObject(GoalMessage.FIELD_HEADER)) : new Header(); GoalID id = jsonObject.containsKey(GoalMessage.FIELD_ID) ? GoalID.fromJsonObject(jsonObject.getJsonObject(GoalMessage.FIELD_ID)) : new GoalID(); JsonObject goal = jsonObject.containsKey(GoalMessage.FIELD_GOAL) ? jsonObject.getJsonObject(GoalMessage.FIELD_GOAL) : JsonObject.EMPTY_JSON_OBJECT; return new GoalMessage(header, id, goal); } }