Module math

Interface Parameterizable

All Known Subinterfaces:
FeatureVector.Factory<V,D>, NumberVector.Factory<V,N>

public interface Parameterizable
Interface to define the required methods for command line interaction. Important note:

Although this cannot be specified in a Java interface, any class implementing this interface must also have a constructor that takes a single de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization as option, which is used to set the class parameters.

Alternatively, a constructor with no options is also allowed.

This means, each class implementing Parameterizable must have a constructor that either is

 
 public Class(Parameterizable config) { ... }
 
 
or
 
 public Class() { ... }
 
 

Constructors MUST not do expensive operations or allocations, since they will also be called just to determine and validate parameters.

For documentation, the classes should also be annotated with de.lmu.ifi.dbs.elki.utilities.documentation.Title de.lmu.ifi.dbs.elki.utilities.documentation.Description and de.lmu.ifi.dbs.elki.utilities.documentation.Reference (where possible).

Please check the package documentation for full information on this interface.

The application de.lmu.ifi.dbs.elki.application.internal.CheckParameterizables can be used to check this class contracts.

Author:
Erich Schubert