/*
* This file is part of gwap, an open platform for games with a purpose
*
* Copyright (C) 2013
* Project play4science
* Lehr- und Forschungseinheit für Programmier- und Modellierungssprachen
* Ludwig-Maximilians-Universität München
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gwap.wrapper;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fabian Kneißl
*/
public class MatchingTag {
private String tag;
private boolean directMatch = false;
private boolean indirectMatch = false;
private int score = 0;
private List<String> alternativeTags;
private boolean tagCorrectionCompleted = false;
public MatchingTag() {
}
public MatchingTag(String tag) {
super();
this.tag = tag;
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
public boolean isDirectMatch() {
return directMatch;
}
public void setDirectMatch(boolean directMatch) {
this.directMatch = directMatch;
}
public boolean isIndirectMatch() {
return indirectMatch;
}
public void setIndirectMatch(boolean indirectMatch) {
this.indirectMatch = indirectMatch;
}
public void setScore(int score) {
this.score = score;
}
public int getScore() {
return score;
}
public List<String> getAlternativeTags() {
return alternativeTags;
}
public void setAlternativeTags(List<String> alternativeTags) {
this.alternativeTags = alternativeTags;
}
public boolean isTagCorrectionCompleted() {
return tagCorrectionCompleted;
}
public void setTagCorrectionCompleted(boolean tagCorrectionCompleted) {
this.tagCorrectionCompleted = tagCorrectionCompleted;
}
public boolean hasCorrection() {
return alternativeTags != null && alternativeTags.size() > 0;
}
public String getMatchType() {
if (isDirectMatch())
return "directMatch";
else if (isIndirectMatch())
return "indirectMatch";
else
return null;
}
public String getCssClass() {
String s = getMatchType();
if (s == null)
s = "";
if (hasCorrection())
s = s + " wavyUnderline";
return s;
}
public boolean equals(String tag) {
return this.tag != null && this.tag.equals(tag);
}
public void addAlternativeTag(String tag) {
if (alternativeTags == null)
alternativeTags = new ArrayList<String>();
alternativeTags.add(tag);
}
}