summaryrefslogtreecommitdiff
path: root/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
diff options
context:
space:
mode:
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java')
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
index d9d1a3a2..b0ce1bc7 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
@@ -40,6 +40,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
*
* @author Steffi Wanka
* @author Erich Schubert
+ * @since 0.3
*
* @apiviz.uses ELKIServiceRegistry
*
@@ -96,6 +97,23 @@ public class ClassListParameter<C> extends ListParameter<ClassListParameter<C>,
return buf.toString();
}
+ @Override
+ public String getDefaultValueAsString() {
+ StringBuilder buf = new StringBuilder();
+ final String defPackage = restrictionClass.getPackage().getName() + ".";
+ for(Class<? extends C> c : getDefaultValue()) {
+ if(buf.length() > 0) {
+ buf.append(LIST_SEP);
+ }
+ String name = c.getName();
+ if(name.startsWith(defPackage)) {
+ name = name.substring(defPackage.length());
+ }
+ buf.append(name);
+ }
+ return buf.toString();
+ }
+
@SuppressWarnings("unchecked")
@Override
protected List<Class<? extends C>> parseValue(Object obj) throws ParameterException {