This commit is contained in:
parent
751d9461b3
commit
8fd18d4fad
@ -100,18 +100,18 @@ public class Main {
|
||||
WRITER.flush();
|
||||
}
|
||||
|
||||
private enum converterArgumentValueType {
|
||||
enum converterArgumentValueType {
|
||||
BOOLEAN,
|
||||
COMMA_SEPARATED_LIST,
|
||||
SINGLE_VALUE,
|
||||
INT
|
||||
}
|
||||
|
||||
private static class converterArgument {
|
||||
static class converterArgument {
|
||||
private String name;
|
||||
private boolean valueRequired;
|
||||
private converterArgumentValueType valueType;
|
||||
private converterArgument(String name, boolean valueRequired, converterArgumentValueType valueType) {
|
||||
converterArgument(String name, boolean valueRequired, converterArgumentValueType valueType) {
|
||||
this.name = name;
|
||||
this.valueRequired = valueRequired;
|
||||
this.valueType = valueType;
|
||||
@ -140,33 +140,6 @@ public class Main {
|
||||
}
|
||||
}
|
||||
|
||||
private static void parser(List<String> tokens) {
|
||||
String[] types = {"animeconverter", "audioconverter", "videoconverter"};
|
||||
converterArgument[] commonArgs = {
|
||||
new converterArgument("-recursions", true, converterArgumentValueType.INT)
|
||||
};
|
||||
converterArgument[] animeArgs = {
|
||||
|
||||
};
|
||||
converterArgument[] audioArgs = {
|
||||
new converterArgument("-outext", true, converterArgumentValueType.SINGLE_VALUE)
|
||||
};
|
||||
converterArgument[] videoArgs = {
|
||||
new converterArgument("-outext", true, converterArgumentValueType.SINGLE_VALUE)
|
||||
};
|
||||
String type = tokens.get(0).toLowerCase();
|
||||
if (!listContains(types, s -> s.equals(type))) {
|
||||
throw new IllegalArgumentException("Unknown converter type chosen.");
|
||||
}
|
||||
if (tokens.size() < 2) {
|
||||
throw new IllegalArgumentException("No file/folder path in argument.");
|
||||
}
|
||||
for (int i = 1; i < tokens.size() - 1; i++) {
|
||||
//TODO: Find the type of argument and check the value
|
||||
//TODO: Find an executable way to represent the chain of commands parsed
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the anime converter
|
||||
* @throws IOException <p>If reading or writing fails.</p>
|
||||
@ -272,7 +245,7 @@ public class Main {
|
||||
* @param <T> Anything which can be stored in a list
|
||||
* @return True if at least one element fulfills the predicate
|
||||
*/
|
||||
private static <T> boolean listContains(T[] list, Predicate<T> predicate) {
|
||||
static <T> boolean listContains(T[] list, Predicate<T> predicate) {
|
||||
for (T item : list) {
|
||||
if (predicate.test(item)) {
|
||||
return true;
|
||||
|
@ -3,8 +3,37 @@ package ffmpegconverter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static ffmpegconverter.Main.listContains;
|
||||
|
||||
public class Parser {
|
||||
|
||||
private static void parse(List<String> tokens) {
|
||||
String[] types = {"animeconverter", "audioconverter", "videoconverter"};
|
||||
Main.converterArgument[] commonArgs = {
|
||||
new Main.converterArgument("-recursions", true, Main.converterArgumentValueType.INT)
|
||||
};
|
||||
Main.converterArgument[] animeArgs = {
|
||||
|
||||
};
|
||||
Main.converterArgument[] audioArgs = {
|
||||
new Main.converterArgument("-outext", true, Main.converterArgumentValueType.SINGLE_VALUE)
|
||||
};
|
||||
Main.converterArgument[] videoArgs = {
|
||||
new Main.converterArgument("-outext", true, Main.converterArgumentValueType.SINGLE_VALUE)
|
||||
};
|
||||
String type = tokens.get(0).toLowerCase();
|
||||
if (!listContains(types, s -> s.equals(type))) {
|
||||
throw new IllegalArgumentException("Unknown converter type chosen.");
|
||||
}
|
||||
if (tokens.size() < 2) {
|
||||
throw new IllegalArgumentException("No file/folder path in argument.");
|
||||
}
|
||||
for (int i = 1; i < tokens.size() - 1; i++) {
|
||||
//TODO: Find the type of argument and check the value
|
||||
//TODO: Find an executable way to represent the chain of commands parsed
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tokenizes a string
|
||||
* @param input <p>A string.</p>
|
||||
|
Loading…
Reference in New Issue
Block a user