package org.signalml.plugin.newstager.logic.book.tag.helper;
import org.signalml.plugin.newstager.data.book.NewStagerBookSample;
import org.signalml.plugin.newstager.data.tag.NewStagerBookAtomTagHelperData;
public class NewStagerCountingBuilderHelper extends
NewStagerBookAtomAbstractTagHelper implements
INewStagerBookAtomCoeffHelper {
private INewStagerBookAtomFilter filter;
private NewStagerBookSample sample;
private double value;
public NewStagerCountingBuilderHelper(NewStagerBookAtomTagHelperData data, INewStagerBookAtomFilter filter) {
super(data);
this.filter = filter;
this.sample = null;
}
@Override
public double convertToValue(NewStagerBookSample sample) {
if (this.sample != sample) {
this.calculateValue(sample);
}
return this.value;
}
private void calculateValue(NewStagerBookSample sample) {
this.sample = sample;
this.value = this.filter.filter(sample.atoms).size();
}
}