package i5.las2peer.services.ocd.utils; import java.util.Map; /** * Common interface for any classes instantiated by a factory * that may customize the created objects with different parameters. */ public interface Parameterizable { /** * Sets the concrete parameters of an instance. * @param parameters A mapping from the parameter names to the actual parameter values. * The mapping is not necessarily complete, i.e. some parameters might be missing and should be assigned * (or should maintain) their default value. */ public void setParameters(Map<String, String> parameters); /** * Returns the concrete parameters of an instance, including any default values which were not explicitly set. * @return A mapping from the name of each parameter to the actual parameter value in string format. * An empty map if the algorithm does not take any parameters. */ public Map<String, String> getParameters(); }