/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.modules.qpool.ui;
import java.math.BigDecimal;
import java.util.Date;
import org.olat.core.commons.services.mark.Mark;
import org.olat.core.gui.components.form.flexible.elements.FormLink;
import org.olat.modules.qpool.QuestionItemView;
import org.olat.modules.qpool.QuestionStatus;
/**
*
* Initial date: 23.01.2013<br>
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class ItemRow implements QuestionItemView {
private final QuestionItemView delegate;
private FormLink markLink;
public ItemRow(QuestionItemView item) {
this.delegate = item;
}
@Override
public Long getKey() {
return delegate.getKey();
}
@Override
public boolean isEditable() {
return delegate.isEditable();
}
@Override
public boolean isMarked() {
return delegate.isMarked();
}
@Override
public Double getRating() {
return delegate.getRating();
}
@Override
public String getResourceableTypeName() {
return delegate.getResourceableTypeName();
}
@Override
public Long getResourceableId() {
return delegate.getResourceableId();
}
@Override
public String getIdentifier() {
return delegate.getIdentifier();
}
@Override
public String getMasterIdentifier() {
return delegate.getMasterIdentifier();
}
@Override
public String getTitle() {
return delegate.getTitle();
}
@Override
public String getKeywords() {
return delegate.getKeywords();
}
@Override
public String getCoverage() {
return delegate.getCoverage();
}
@Override
public String getAdditionalInformations() {
return delegate.getAdditionalInformations();
}
@Override
public String getLanguage() {
return delegate.getLanguage();
}
public String getTaxonomyLevelName() {
return delegate.getTaxonomyLevelName();
}
@Override
public String getEducationalContextLevel() {
return delegate.getEducationalContextLevel();
}
@Override
public String getEducationalLearningTime() {
return delegate.getEducationalLearningTime();
}
@Override
public String getItemType() {
return delegate.getItemType();
}
@Override
public BigDecimal getDifficulty() {
return delegate.getDifficulty();
}
@Override
public BigDecimal getStdevDifficulty() {
return delegate.getStdevDifficulty();
}
@Override
public BigDecimal getDifferentiation() {
return delegate.getDifferentiation();
}
@Override
public int getNumOfAnswerAlternatives() {
return delegate.getNumOfAnswerAlternatives();
}
@Override
public int getUsage() {
return delegate.getUsage();
}
@Override
public Date getCreationDate() {
return delegate.getCreationDate();
}
@Override
public Date getLastModified() {
return delegate.getLastModified();
}
@Override
public void setLastModified(Date date) {
//not its job
}
@Override
public String getFormat() {
return delegate.getFormat();
}
@Override
public QuestionStatus getQuestionStatus() {
return delegate.getQuestionStatus();
}
@Override
public String getItemVersion() {
return delegate.getItemVersion();
}
public FormLink getMarkLink() {
return markLink;
}
public void setMarkLink(FormLink markLink) {
this.markLink = markLink;
}
public void setMark(boolean mark) {
if(markLink != null) {
markLink.setIconLeftCSS("o_icon o_icon-lg " + (mark ? Mark.MARK_CSS_ICON : Mark.MARK_ADD_CSS_ICON));
}
}
@Override
public int hashCode() {
return delegate.getKey().hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof ItemRow) {
ItemRow row = (ItemRow) obj;
return delegate.equals(row.delegate);
}
return false;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("itemRow[key=").append(delegate.getKey()).append(":")
.append("name=").append(delegate.getTitle()).append("]");
return sb.toString();
}
}