Rename “Controlled” to “ControlledComponent.”
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / Filter.java
index 94c986c..c251cfe 100644 (file)
 package net.pterodactylus.sonitus.data;
 
 /**
- * A filter processes an input to produce an output.
+ * A filter is both a {@link Source} and a {@link Sink}. It is used to process
+ * the audio date in whatever way seems appropriate.
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public interface Filter {
-
-       /**
-        * Returns whether this filter understands the given format.
-        *
-        * @param format
-        *              The format to check for
-        * @return {@code true} if this filter understands the given format, {@code
-        *         false} otherwise
-        */
-       boolean understands(Format format);
-
-       /**
-        * Returns whether this filter can produce the given format.
-        *
-        * @param format
-        *              The format to check for
-        * @return {@code true} if this filter can produce the given format, {@code
-        *         false} otherwise
-        */
-       boolean produces(Format format);
+public interface Filter extends ControlledComponent, Source, Sink {
 
 }