Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content.contentdata.custom; import java.util.List; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.HashCodeBuilder; import com.enonic.cms.core.content.contenttype.dataentryconfig.DataEntryConfig; public class MultipleChoiceDataEntry extends AbstractInputDataEntry { private String text; private List<MultipleChoiceAlternative> alternatives; public MultipleChoiceDataEntry(DataEntryConfig config, String text, List<MultipleChoiceAlternative> alternatives) { super(config, DataEntryType.MULTIPLE_CHOICE); this.text = text; this.alternatives = alternatives; } public void validate() { } public boolean breaksRequiredContract() { if (alternatives == null || text == null) { return true; } if (alternatives.size() < 2) { return true; } return StringUtils.isBlank(text); } public boolean hasValue() { return text != null || alternatives != null; } public String getText() { return text; } public List<MultipleChoiceAlternative> getAlternatives() { return alternatives; } @Override public String toString() { return "MultipleChoiceDataEntry: '" + text + "', with " + (alternatives == null ? "NULL" : alternatives.size()) + " alternatives."; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } MultipleChoiceDataEntry that = (MultipleChoiceDataEntry) o; if (alternatives != null ? !alternatives.equals(that.alternatives) : that.alternatives != null) { return false; } if (text != null ? !text.equals(that.text) : that.text != null) { return false; } return true; } @Override public int hashCode() { return new HashCodeBuilder(402, 679).appendSuper(super.hashCode()).append(text).append(alternatives) .toHashCode(); } }