package moa.classifiers.JanStaniewicz;

import java.util.ArrayList;
import java.util.Collection;

import moa.classifiers.AbstractClassifier;
import moa.classifiers.JanStaniewicz.helpers.ChunkInfo;
import moa.classifiers.JanStaniewicz.helpers.OversamplingMethod;
import moa.core.Measurement;
import com.yahoo.labs.samoa.instances.Instance;

public abstract class AbstractOversamplingClassifier extends AbstractClassifier {
	
	public OversamplingMethod oversamplingMehtod;
	
	public AbstractOversamplingClassifier(OversamplingMethod method) {
		oversamplingMehtod = method;
	}
	
	public Collection<? extends Instance> Oversample(ChunkInfo info, int number)
	{
		 Collection<? extends Instance> newData = oversamplingMehtod.GenerateNewInstances(info, number);
				info.chunk.addAll(newData);
				return info.chunk;
	};
}
