/* ExportSamplesAction.java created 2008-01-15
*
*/
package org.signalml.app.action.document;
import org.signalml.plugin.export.view.AbstractSignalMLAction;
import org.signalml.util.Util;
/** ExportSamplesAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public abstract class ExportSamplesAction extends AbstractSignalMLAction {
private static final long serialVersionUID = 1L;
public ExportSamplesAction() {
super();
}
protected abstract int getSampleCount();
protected abstract double[][] getSamples();
protected boolean isWithLabels() {
return false;
}
protected String getLabel(int index) {
return "";
}
protected String getLineSeparator() {
return Util.LINE_SEP;
}
protected String getFieldSeparator() {
return "\t";
}
protected String getSamplesAsString() {
double[][] samples = getSamples();
if (samples == null) {
return null;
}
int sampleCount = getSampleCount();
String lineSeparator = getLineSeparator();
String fieldSeparator = getFieldSeparator();
StringBuilder sb = new StringBuilder();
int i;
int e;
if (isWithLabels()) {
for (i=0; i<samples.length; i++) {
if (i > 0) {
sb.append(fieldSeparator);
}
sb.append(getLabel(i));
}
sb.append(lineSeparator);
}
for (e=0; e<sampleCount; e++) {
for (i=0; i<samples.length; i++) {
if (i > 0) {
sb.append(fieldSeparator);
}
sb.append(Double.toString(samples[i][e]));
}
sb.append(lineSeparator);
}
return sb.toString();
}
}