-package com.nexuiz.demorecorder.application.plugins;\r
-\r
-import java.util.Properties;\r
-\r
-import com.nexuiz.demorecorder.application.DemoRecorderApplication;\r
-import com.nexuiz.demorecorder.application.jobs.RecordJob;\r
-\r
-public interface EncoderPlugin {\r
- \r
- /**\r
- * Makes the application layer known to the plug-in, which is required so that the plug-in\r
- * can access the preferences of the application. Call this method first before using any\r
- * of the others.\r
- */\r
- public void setApplicationLayer(DemoRecorderApplication appLayer);\r
-\r
- /**\r
- * Returns the name of the plug-in. Must not contain a "."\r
- */\r
- public String getName();\r
- \r
- /**\r
- * Returns true if the plug-in is enabled (checked from the preferences of the app layer)\r
- * @return true if the plug-in is enabled\r
- */\r
- public boolean isEnabled();\r
- \r
- /**\r
- * Global preferences are preferences of a plug-in that are application-wide and not job-\r
- * specific. They should be shown in a global preferences dialog.\r
- * Use this method in order to tell the application layer and GUI which global settings your\r
- * encoder plug-in offers, and set a reasonable default. Note that for the default-values being\r
- * set you can either set to "true" or "false", any String (can be empty), or "filechooser" if\r
- * you want the user to select a file. \r
- * @return\r
- */\r
- public Properties getGlobalPreferences();\r
- \r
- /**\r
- * In order to influence the order of settings being displayed to the user in a UI, return an array\r
- * of all keys used in the Properties object returned in getGlobalPreferences(), with your desired\r
- * order.\r
- * @return\r
- */\r
- public String[] getGlobalPreferencesOrder();\r
- \r
- /**\r
- * Here you can return a Properties object that contains keys for values that can be specific to each\r
- * individual RecordJob. \r
- * @return\r
- */\r
- public Properties getJobSpecificPreferences();\r
- \r
- /**\r
- * In order to influence the order of job-specific settings being displayed to the user in a UI,\r
- * return an array of all keys used in the Properties object returned in getJobSpecificPreferences(), with\r
- * your desired order.\r
- * @return\r
- */\r
- public String[] getJobSpecificPreferencesOrder();\r
- \r
- /**\r
- * Will be called by the application layer when a job has been successfully recorded and moved to its\r
- * final destination. This method has to perform the specific tasks your plug-in is supposed to do.\r
- * @param job\r
- * @throws EncoderPluginException\r
- */\r
- public void executeEncoder(RecordJob job) throws EncoderPluginException;\r
-}\r
+package com.nexuiz.demorecorder.application.plugins;
+
+import java.util.Properties;
+
+import com.nexuiz.demorecorder.application.DemoRecorderApplication;
+import com.nexuiz.demorecorder.application.jobs.RecordJob;
+
+public interface EncoderPlugin {
+
+ /**
+ * Makes the application layer known to the plug-in, which is required so that the plug-in
+ * can access the preferences of the application. Call this method first before using any
+ * of the others.
+ */
+ public void setApplicationLayer(DemoRecorderApplication appLayer);
+
+ /**
+ * Returns the name of the plug-in. Must not contain a "."
+ */
+ public String getName();
+
+ /**
+ * Returns true if the plug-in is enabled (checked from the preferences of the app layer)
+ * @return true if the plug-in is enabled
+ */
+ public boolean isEnabled();
+
+ /**
+ * Global preferences are preferences of a plug-in that are application-wide and not job-
+ * specific. They should be shown in a global preferences dialog.
+ * Use this method in order to tell the application layer and GUI which global settings your
+ * encoder plug-in offers, and set a reasonable default. Note that for the default-values being
+ * set you can either set to "true" or "false", any String (can be empty), or "filechooser" if
+ * you want the user to select a file.
+ * @return
+ */
+ public Properties getGlobalPreferences();
+
+ /**
+ * In order to influence the order of settings being displayed to the user in a UI, return an array
+ * of all keys used in the Properties object returned in getGlobalPreferences(), with your desired
+ * order.
+ * @return
+ */
+ public String[] getGlobalPreferencesOrder();
+
+ /**
+ * Here you can return a Properties object that contains keys for values that can be specific to each
+ * individual RecordJob.
+ * @return
+ */
+ public Properties getJobSpecificPreferences();
+
+ /**
+ * In order to influence the order of job-specific settings being displayed to the user in a UI,
+ * return an array of all keys used in the Properties object returned in getJobSpecificPreferences(), with
+ * your desired order.
+ * @return
+ */
+ public String[] getJobSpecificPreferencesOrder();
+
+ /**
+ * Will be called by the application layer when a job has been successfully recorded and moved to its
+ * final destination. This method has to perform the specific tasks your plug-in is supposed to do.
+ * @param job
+ * @throws EncoderPluginException
+ */
+ public void executeEncoder(RecordJob job) throws EncoderPluginException;
+}