/**
*
*/
package org.signalml.plugin.impl;
import java.util.ArrayList;
import org.signalml.plugin.export.signal.ChannelSamples;
import org.signalml.plugin.export.signal.SignalSamples;
/**
* This class holds samples for all channels of the signal.
* Contains the list of {@link ChannelSamplesImpl samples for each channel}
* @author Marcin Szumski
*/
public class SignalSamplesImpl implements SignalSamples {
/**
* the ArrayList of {@link ChannelSamplesImpl channel samples} for each channel
*/
private ArrayList<ChannelSamplesImpl> channels = new ArrayList<ChannelSamplesImpl>();
/**
* Empty constructor.
*/
public SignalSamplesImpl() {
}
/**
* Constructor.
* @param channels ArrayList of channel samples for each channel
*/
public SignalSamplesImpl(ChannelSamplesImpl[] channels) {
for (ChannelSamplesImpl samples : channels) {
this.channels.add(samples);
}
}
/**
* Adds samples for one channel.
* @param channelSamples samples for one channel
*/
public void addChannelSamples(ChannelSamplesImpl channelSamples) {
channels.add(channelSamples.getChannelNumber(), channelSamples);
}
/* (non-Javadoc)
* @see org.signalml.plugin.export.signal.SignalSamples#getChannelSamples(int)
*/
@Override
public ChannelSamples getChannelSamples(int channelNumber) {
return channels.get(channelNumber);
}
/* (non-Javadoc)
* @see org.signalml.plugin.export.signal.SignalSamples#getChannels()
*/
@Override
public ChannelSamples[] getChannels() {
return channels.toArray(new ChannelSamplesImpl[channels.size()]);
}
}