package ivory.ltr.operator;
import java.util.List;
import com.google.common.collect.Lists;
/**
* Holds and computes the final value of a feature
*
* @author Nima Asadi
*/
public abstract class Operator {
protected List<Double> scores;
protected Operator() {
scores = Lists.newArrayList();
}
/**
* Adds a new score
*
* @param score Score
*/
public void addScore(double score) {
scores.add(score);
}
/**
* Clears the scores
*/
public void clear() {
scores.clear();
}
/**
* Computes the final feature value
*
* @return Feature value
*/
public abstract double getFinalScore();
/**
* @return New instance
*/
public abstract Operator newInstance();
}