package org.signalml.plugin.newstager.data; import java.io.Serializable; import org.signalml.util.MinMaxRange; public class NewStagerFASPThreshold implements Serializable { private static final long serialVersionUID = 9119452884250336626L; public final MinMaxRange amplitude; public final MinMaxRange frequency; public final MinMaxRange scale; public final MinMaxRange phase; public NewStagerFASPThreshold() { this(CreateMinMax(null, null), CreateMinMax(null, null), CreateMinMax( null, null), CreateMinMax(null, null)); } public NewStagerFASPThreshold(MinMaxRange amplitude, MinMaxRange frequency, MinMaxRange scale, MinMaxRange phase) { this.amplitude = amplitude; this.frequency = frequency; this.scale = scale; this.phase = phase; } public static NewStagerFASPThreshold CreateThreshold(Double amplitudeMin, Double amplitudeMax, Double frequencyMin, Double frequencyMax, Double scaleMin, Double scaleMax, Double phaseMin, Double phaseMax) { return new NewStagerFASPThreshold(CreateMinMax(amplitudeMin, amplitudeMax), CreateMinMax(frequencyMin, frequencyMax), CreateMinMax(scaleMin, scaleMax), CreateMinMax(phaseMin, phaseMax)); } public static NewStagerFASPThreshold CreateThreshold(Double amplitudeMin, Double amplitudeMax, Double frequencyMin, Double frequencyMax, Double scaleMin, Double scaleMax) { return new NewStagerFASPThreshold(CreateMinMax(amplitudeMin, amplitudeMax), CreateMinMax(frequencyMin, frequencyMax), CreateMinMax(scaleMin, scaleMax), null); } public static NewStagerFASPThreshold CreateZeroThreshold() { return NewStagerFASPThreshold.CreateThreshold(0.0, 0.0, 0.0, 0.0, 0.0, 0.0); } private static MinMaxRange CreateMinMax(Double min, Double max) { return min != null || max != null ? new MinMaxRange(-99.0d, min, max, false, false) : null; } }