diff options
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.java | 18 |
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 { |