/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/CalculatedQuestionCalculationBean.java $ * $Id: CalculatedQuestionCalculationBean.java 124154 2013-05-16 14:04:00Z azeckoski@unicon.net $ *********************************************************************************** * * Copyright (c) 2004, 2005, 2006, 2008, 2009 The Sakai Foundation * * Licensed under the Educational Community 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.opensource.org/licenses/ECL-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 org.sakaiproject.tool.assessment.ui.bean.author; import java.io.Serializable; import org.apache.commons.lang.StringUtils; /** * Contains the fields related to a calculation (which is just a formula that is directly evaluated as part of the question) * * @author Aaron Zeckoski (azeckoski @ vt.edu) */ public class CalculatedQuestionCalculationBean implements Serializable { private static final long serialVersionUID = 1747088544228808857L; private String text; private String formula; private String value; private String status = "OK"; /** * Don't use this one */ public CalculatedQuestionCalculationBean() {} /** * @param text (e.g. {A}+{B}+{C}) */ public CalculatedQuestionCalculationBean(String text) { if (text == null || "".equals(text)) { throw new IllegalArgumentException("calculation text must be set"); } this.text = text; this.formula = "?"; this.value = "?"; } /** * @param text (e.g. {A}+{B}+{C}) * @param formula after variable replacement (e.g. 1+2+3) * @param value value of the formula after evaluation (e.g. 6) * @param status status of the formula evaluation (from the parser), (e.g. OK) */ public CalculatedQuestionCalculationBean(String text, String formula, String value, String status) { this(text); if (formula != null) this.formula = formula; if (value != null) this.value = value; if (status != null) this.status = status; } /** * @return the text (e.g. {A}+{B}+{C}) */ public String getText() { return text; } /** * @param text (e.g. {A}+{B}+{C}) */ public void setText(String text) { this.text = text; } /** * @return the formula after variable replacement (e.g. 1+2+3) */ public String getFormula() { return formula; } /** * @param formula the formula after variable replacement (e.g. 1+2+3) */ public void setFormula(String formula) { this.formula = formula; } /** * @return the value of the formula after evaluation (e.g. 6) */ public String getValue() { return value; } /** * @param value the value of the formula after evaluation (e.g. 6) */ public void setValue(String value) { this.value = value; } /** * @return the status of the formula evaluation (from the parser) */ public String getStatus() { return status; } /** * @param status the status of the formula evaluation (from the parser) */ public void setStatus(String status) { this.status = status; } }