Java tutorial
/* * Copyright (c) 2011-2014, MOBICAGE NV * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Mobicage NV. * 4. Neither the name of the Mobicage NV nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY MOBICAGE NV ''AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL MOBICAGE NV BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @@license_version:1.7@@ */ package com.mobicage.rogerthat; import java.util.ArrayList; import java.util.List; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class MessageCallbackResult extends CallbackResult implements JSONable, Flagable, AlertFlagable, DismissButtonUiFlagable, Answerable { private String message; private List<Answer> answers; private int flags; private String branding; private String tag; private int alertFlags; private int dismissButtonUiFlags; public MessageCallbackResult() { answers = new ArrayList<Answer>(); flags = 0; alertFlags = 0; dismissButtonUiFlags = 0; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public List<Answer> getAnswers() { return answers; } public void setAnswers(List<Answer> answers) { this.answers = answers; } public int getFlags() { return flags; } public void setFlags(int flags) { this.flags = flags; } public String getBranding() { return branding; } public void setBranding(String branding) { this.branding = branding; } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } public int getAlertFlags() { return alertFlags; } public void setAlertFlags(int alertFlags) { this.alertFlags = alertFlags; } public int getDismissButtonUiFlags() { return dismissButtonUiFlags; } public void setDismissButtonUiFlags(int dismissButtonUiFlags) { this.dismissButtonUiFlags = dismissButtonUiFlags; } @SuppressWarnings("unchecked") @Override public JSONObject toJSONObject() { final JSONObject result = new JSONObject(); result.put("message", message); final JSONArray answerArray = new JSONArray(); for (Answer answer : answers) { answerArray.add(answer.toJSONObject()); } result.put("answers", answerArray); result.put("flags", flags); result.put("branding", branding); result.put("tag", tag); result.put("alert_flags", alertFlags); result.put("dismiss_button_ui_flags", dismissButtonUiFlags); return result; } @Override public void addFlag(MessageFlag flag) { flags |= flag.getValue(); } @Override public void addAlertFlag(MessageAlertFlag flag) { alertFlags |= flag.getValue(); } @Override public void addDismissButtonUiFlag(ButtonUiFlag flag) { dismissButtonUiFlags |= flag.getValue(); } @Override public void addAnswer(Answer answer) { answers.add(answer); } @Override public String getType() { return "message"; } }