package org.signalml.app.model.document.opensignal.elements; import java.util.ArrayList; import java.util.List; import org.signalml.app.worker.monitor.messages.AmplifierType; public class Amplifier { private String name; private int samplesPerPacket; private List<Float> samplingFrequencies; private List<AmplifierChannel> channels; private AmplifierType amplifierType; private Object additionalParameters; public Amplifier(Amplifier amp) { copyFromPreset(amp); } public void copyFromPreset(Amplifier presetAmplifier) { this.name = presetAmplifier.name; this.samplesPerPacket = presetAmplifier.samplesPerPacket; this.samplingFrequencies = new ArrayList<Float>(); for (Float samplingFrequency: presetAmplifier.getSamplingFrequencies()) this.samplingFrequencies.add(samplingFrequency); this.channels = new ArrayList<AmplifierChannel>(); for (AmplifierChannel channel: presetAmplifier.getChannels()) this.channels.add(new AmplifierChannel(channel)); //watch out - not everything is copied - e.g. - additionalParameters //need to stay in the previous version. } public Amplifier() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Float> getSamplingFrequencies() { return samplingFrequencies; } public void setSamplingFrequencies( List<Float> availableSamplingFrequencies) { this.samplingFrequencies = availableSamplingFrequencies; } public List<AmplifierChannel> getChannels() { return channels; } public void setChannels(List<AmplifierChannel> channels) { this.channels = channels; } public int getSamplesPerPacket() { return samplesPerPacket; } public void setSamplesPerPacket(int samplesPerPacket) { this.samplesPerPacket = samplesPerPacket; } public List<AmplifierChannel> getSelectedChannels() { List<AmplifierChannel> selectedChannels = new ArrayList<AmplifierChannel>(); for (AmplifierChannel channel: this.getChannels()) { if (channel.isSelected()) selectedChannels.add(channel); } return selectedChannels; } public String[] getSelectedChannelsLabels() { List<String> channelLabels = new ArrayList<String>(); for (AmplifierChannel channel: getSelectedChannels()) { channelLabels.add(channel.getLabel()); } return channelLabels.toArray(new String[0]); } public Object getAdditionalParameters() { return additionalParameters; } public void setAdditionalParameters(Object additionalParameters) { this.additionalParameters = additionalParameters; } public AmplifierType getAmplifierType() { return amplifierType; } public void setAmplifierType(AmplifierType amplifierType) { this.amplifierType = amplifierType; } }