package org.signalml.plugin.newartifact.logic.tag; import org.signalml.plugin.newartifact.data.NewArtifactComputationType; import org.signalml.plugin.newartifact.logic.tag.creators.EyeMovementTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.BreathingTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.ECGTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.EyeBlinksTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.INewArtifactTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.MuscleTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.PowerTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.TechnicalTagCreator; import org.signalml.plugin.newartifact.logic.tag.creators.UnknownTagCreator; public class NewArtifactTagCreatorFactory { public INewArtifactTagCreator createTagger(NewArtifactComputationType taggerType) { switch (taggerType) { case GALV: return new BreathingTagCreator(); case EYE_MOVEMENT: return new EyeMovementTagCreator(); case ECG: return new ECGTagCreator(); case EYEBLINKS: return new EyeBlinksTagCreator(); case MUSCLE_ACTIVITY: return new MuscleTagCreator(); case POWER: return new PowerTagCreator(); case TECHNICAL: return new TechnicalTagCreator(); case UNKNOWN: return new UnknownTagCreator(); default: return null; } } }