package de.tud.inf.parameters; import java.io.File; import java.util.HashSet; import java.util.Set; import com.rapidminer.parameter.ParameterType; import com.rapidminer.parameter.ParameterTypeFile; import com.rapidminer.parameter.ParameterTypeList; import com.rapidminer.tools.Tools; public class ParameterTypeFiles extends ParameterTypeFile{ private Set defaultFiles = new HashSet(); @Override public void setDefaultValue(Object defaultValue) { this.defaultFiles = (Set)defaultValue; } @Override public String getXML(String indent, String key, Object value, boolean hideDefault) { StringBuffer result = new StringBuffer(); result.append(indent + "<parameter key=\"" + key + "\"\tvalue=\""); if(value instanceof String) result.append(value.toString()); else { StringBuffer files = new StringBuffer(); for(File f : ((Set<File>) value)) { files.append(f.getPath() + ";"); } result.append(files.toString()); } result.append("\"/>" + Tools.getLineSeparator()); return result.toString(); } @Override public Object getDefaultValue() { // TODO Auto-generated method stub return ""; } @Override public Object copyValue(Object value) { if(value == null) return null; Set<File> valFiles = (Set<File>)value; Set<File> newFiles = new HashSet<File>(valFiles.size()); for(File f : valFiles) newFiles.add(f); return newFiles; } public ParameterTypeFiles(String key, String description, String extension, boolean optional) { super(key, description, extension, optional); } public ParameterTypeFiles(String key, String description, String extension, String defaultFileName) { super(key, description, extension, defaultFileName); } /** * */ private static final long serialVersionUID = 655150517880229268L; }