/* * Copyright 2002-2006 the original author or authors. * * 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 org.openuap.cms.survey.model; import java.io.Serializable; import org.apache.commons.lang.builder.ToStringBuilder; import org.openuap.base.dao.hibernate.BaseObject; import org.openuap.base.util.StringUtil; import org.openuap.cms.config.CMSConfig; /** * * <p> * 问题选项实体. * </p> * * <p> * $Id: QuestionItem.java 4017 2011-03-13 13:55:50Z orangeforjava $ * </p> * * @author Joseph * @version 1.0 */ public class QuestionItem extends BaseObject implements Serializable { /** * */ private static final long serialVersionUID = -6087727838563287783L; private int hashValue = 0; /** 问题选项唯一ID. */ private Long questionItemId; /** 选项文本. */ private String questionItemText; /** 选项被投票的次数. */ private Integer questionItemPolledTimes; /** 选项图片. */ private String image; /** 关联的内容URL. */ private String url; /** 关联的内容ID,可选. */ private String oid; /** 选项排序. */ private Integer questionItemSort; /** 0-普通,1-输入 */ private Integer questionItemType; /** 是否是正确答案. */ private boolean rightAnswer; /** 对应的问题对象. */ private transient Question question; public QuestionItem(String questionItemText, Integer questionItemPolledTimes, Question question) { this.questionItemText = questionItemText; this.questionItemPolledTimes = questionItemPolledTimes; this.question = question; } public QuestionItem() { questionItemPolledTimes = new Integer(0); } public QuestionItem(String questionItemText, Question question) { this.questionItemText = questionItemText; this.question = question; } public String toString() { return (new ToStringBuilder(this)).append("questionItemId", getQuestionItemId()).append("questionItemText", getQuestionItemText()).toString(); } public int compareTo(Object object) { QuestionItem otherQuestionItem = (QuestionItem) object; return questionItemText.compareTo(otherQuestionItem.questionItemText); } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getOid() { return oid; } public void setOid(String oid) { this.oid = oid; } public boolean equals(Object rhs) { if (rhs == null) { return false; } if (!(rhs instanceof QuestionItem)) { return false; } QuestionItem that = (QuestionItem) rhs; if (this.getQuestionItemId() == null || that.getQuestionItemId() == null) { return false; } return (this.getQuestionItemId().equals(that.getQuestionItemId())); } public int hashCode() { if (this.hashValue == 0) { int result = 17; int indexidValue = this.getQuestionItemId() == null ? 0 : this .getQuestionItemId().hashCode(); result = result * 37 + indexidValue; this.hashValue = result; } return this.hashValue; } public Question getQuestion() { return question; } public Long getQuestionItemId() { return questionItemId; } public Integer getQuestionItemPolledTimes() { return questionItemPolledTimes; } public Integer getQuestionItemSort() { return questionItemSort; } public String getQuestionItemText() { return questionItemText; } public Integer getQuestionItemType() { return questionItemType; } public boolean isRightAnswer() { return rightAnswer; } public void setRightAnswer(boolean rightAnswer) { this.rightAnswer = rightAnswer; } public void setQuestionItemType(Integer questionItemType) { this.questionItemType = questionItemType; } public void setQuestionItemText(String questionItemText) { this.questionItemText = questionItemText; } public void setQuestionItemSort(Integer questionItemSort) { this.questionItemSort = questionItemSort; } public void setQuestionItemPolledTimes(Integer questionItemPolledTimes) { this.questionItemPolledTimes = questionItemPolledTimes; } public void setQuestionItemId(Long questionItemId) { this.questionItemId = questionItemId; } public void setQuestion(Question question) { this.question = question; } public String getBaseImage(){ if(StringUtil.hasText(image)){ // if(image.startsWith("../")){ return CMSConfig.getInstance().getBaseUrl()+image.substring(3); }else{ return image; } } return ""; } }