/* MP5Data.java created 2007-10-03
*
*/
package org.signalml.method.mp5;
import java.io.File;
import java.io.Serializable;
import static org.signalml.app.util.i18n.SvarogI18n._;
import org.signalml.domain.signal.SignalProcessingChainDescriptor;
import org.signalml.domain.signal.samplesource.MultichannelSegmentedSampleSource;
import org.signalml.domain.signal.space.SegmentedSampleSourceDescriptor;
import org.signalml.plugin.export.method.BaseMethodData;
import org.springframework.validation.Errors;
import com.thoughtworks.xstream.annotations.XStreamAlias;
/** MP5Data
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
@XStreamAlias("mp5data")
public class MP5Data extends BaseMethodData implements Serializable {
private static final long serialVersionUID = 1L;
private MP5Parameters parameters;
private transient MultichannelSegmentedSampleSource sampleSource;
private File workingDirectory;
private String executorUID;
private String bookFilePath;
private boolean suspended;
private int completedSegments;
private SignalProcessingChainDescriptor chainDescriptor;
private SegmentedSampleSourceDescriptor sourceDescriptor;
public MP5Data() {
this.parameters = new MP5Parameters();
}
public MP5Data(MP5Parameters parameters) {
this.parameters = parameters;
}
public MP5Parameters getParameters() {
return parameters;
}
public File getWorkingDirectory() {
return workingDirectory;
}
public void setWorkingDirectory(File workingDirectory) {
this.workingDirectory = workingDirectory;
}
public String getBookFilePath() {
return bookFilePath;
}
public void setBookFilePath(String bookFilePath) {
this.bookFilePath = bookFilePath;
}
public String getExecutorUID() {
return executorUID;
}
public void setExecutorUID(String executorUID) {
this.executorUID = executorUID;
}
public MultichannelSegmentedSampleSource getSampleSource() {
return sampleSource;
}
public void setSampleSource(MultichannelSegmentedSampleSource sampleSource) {
this.sampleSource = sampleSource;
}
public boolean isSuspended() {
return suspended;
}
public void setSuspended(boolean suspended) {
this.suspended = suspended;
}
public int getCompletedSegments() {
return completedSegments;
}
public void setCompletedSegments(int completedSegments) {
this.completedSegments = completedSegments;
}
public SignalProcessingChainDescriptor getChainDescriptor() {
return chainDescriptor;
}
public void setChainDescriptor(SignalProcessingChainDescriptor chainDescriptor) {
this.chainDescriptor = chainDescriptor;
}
public SegmentedSampleSourceDescriptor getSourceDescriptor() {
return sourceDescriptor;
}
public void setSourceDescriptor(SegmentedSampleSourceDescriptor sourceDescriptor) {
this.sourceDescriptor = sourceDescriptor;
}
public void validate(Errors errors) {
if (executorUID == null || executorUID.isEmpty()) {
errors.rejectValue("executorUID", "error.mp5.noExecutor", _("No executor"));
}
errors.pushNestedPath("parameters");
parameters.validate(errors);
errors.popNestedPath();
if (sampleSource == null) {
errors.rejectValue("sampleSource", "error.mp5.noSampleSource", _("No sample source"));
}
}
}