package experimentalcode.remigius.Adapter;

import java.util.Collection;

import de.lmu.ifi.dbs.elki.data.DatabaseObject;
import de.lmu.ifi.dbs.elki.database.Database;
import de.lmu.ifi.dbs.elki.result.Result;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable;
import experimentalcode.remigius.Visualizers.Visualizer;

/**
 * Defines the requirements for an algorithm-adapter. <br>
 * Note: Any implementation is supposed to provide a constructor without
 * parameters (default constructor).
 * 
 * @author Remigius Wojdanowski
 * 
 * @param <NV> the type of {@link DatabaseObject}s the adapter will handle.
 */
public interface AlgorithmAdapter<O extends DatabaseObject> extends Parameterizable{

  /**
   * Returns <code>true</code> if the adapter can provide one or more
   * {@link Visualizer}s for the given Result, else false.
   * 
   * @param result the {@link Result} the adapter checks.
   * @return <code>true</code> if the adapter can provide one or more
   *         {@link Visualizer}s for the given Result, else false.
   */
  public boolean canVisualize(Result result);

  /**
   * Returns a collection of {@link Visualizer}s this adapter provides.
   * 
   * @return a collection of {@link Visualizer}s this adapter provides.
   */
  public Collection<Visualizer> getProvidedVisualizers();

  public Collection<Visualizer> getUsableVisualizers();

  /**
   * Initializes all provided {@link Visualizer}s.
   * 
   * @param database the {@link Database} which was processed to obtain the
   *        result.
   * @param result the {@link Result} to be visualized.
   */
  public void init(Database<O> database, Result result);
}
@@ -706,16 +706,17 @@
 erizable
+ 
 %7B%0A%0A  /**
@@ -1158,32 +1158,47 @@
 r%7Ds this adapter
+ generally%0A   *
  provides.%0A   * 
@@ -1260,16 +1260,39 @@
 adapter 
+generally%0A   *         
 provides
@@ -1358,16 +1358,284 @@
 ers();%0A%0A
+  /**%0A   * Returns a collection of %7B@link Visualizer%7Ds this adapter provides,%0A   * depending on the given database and result.%0A   * %0A   * @return a collection of %7B@link Visualizer%7Ds this adapter provides,%0A   *         depending on the given database and result.%0A   */%0A
   public

Add further documentation.