/*
* Meviz - Various tools collection to work with multimedia.
- * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
+ * Copyright (C) 2012 -- 2019, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ *
* This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
- */
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
+*/
package eu.svjatoslav.meviz.encoder.converters;
+import eu.svjatoslav.meviz.encoder.EncodingOptions;
+
import java.io.File;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
-import eu.svjatoslav.meviz.encoder.EncodingOptions;
-
public abstract class AbstractConverter {
- public abstract String getCommand(File inputFile, File targetFile,
- EncodingOptions options);
+ public abstract String getCommand(File inputFile, File targetFile,
+ EncodingOptions options, String targetFormat);
- public abstract List<String> getSourceFileExtensions();
+ protected abstract List<String> getSourceFileExtensions();
- public abstract List<String> getTargetFileExtensions();
+ protected abstract List<String> getTargetFileExtensions();
- /**
- * For some reasons some encoders require terminal to run. Until this is
- * resolved, encoder can request for terminal using this method.
- */
- public abstract boolean isTerminalMandatory();
+ /**
+ * For some reasons some encoders require terminal to run. Until this is
+ * resolved, encoder can request for terminal using this method.
+ */
+ public abstract boolean isTerminalMandatory();
- public boolean supportsSource(final String format) {
- return getSourceFileExtensions().contains(format);
- }
+ public boolean supportsSource(final String format) {
+ return getSourceFileExtensions().contains(format);
+ }
- public boolean supportsTarget(final String format) {
- return getTargetFileExtensions().contains(format);
- }
+ public boolean supportsTarget(final String format) {
+ return getTargetFileExtensions().contains(format);
+ }
- public List<String> toList(final String... strings) {
- final ArrayList<String> result = new ArrayList<String>();
+ List<String> toList(final String... strings) {
+ final ArrayList<String> result = new ArrayList<>();
- for (final String string : strings)
- result.add(string);
+ Collections.addAll(result, strings);
- return result;
- }
+ return result;
+ }
}