package org.signalml.plugin.newstager.logic.book.tag.helper; import java.util.Collection; import org.signalml.plugin.newstager.data.book.NewStagerBookSample; import org.signalml.plugin.newstager.data.tag.NewStagerBookAtomTagHelperData; import org.signalml.plugin.newstager.data.tag.NewStagerHelperTagSample; public class NewStagerBookAtomPrimaryTagHelper extends NewStagerBookAtomAbstractTagComputingHelper implements INewStagerBookAtomPrimaryTagHelper { private INewStagerBookAtomFilter filter; private Collection<NewStagerHelperTagSample> tags; private NewStagerBookSample sample; public NewStagerBookAtomPrimaryTagHelper(NewStagerBookAtomTagHelperData data, INewStagerBookAtomFilter filter) { super(data); this.filter = filter; this.tags = null; this.sample = null; } @Override public Collection<NewStagerHelperTagSample> convertToTagSamples(NewStagerBookSample sample) { if (this.sample != sample) { this.sample = sample; this.tags = this.computeTags(sample.offset, filter.filter(sample.atoms)); } return this.tags; } }