package info.globalcode.sql.dk;
/**
*
* @author Ing. František Kučera (frantovo.cz)
*/
public class CLIStarter {
public static void main(String[] args) {
args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"};
CLIOptions options = parseOptions(args);
}
private static CLIOptions parseOptions(String[] args) {
CLIOptions options = new CLIOptions();
String typesString = null;
for (int i = 0; i < args.length; i++) {
String arg = args[i];
switch (arg) {
case Tokens.TYPES:
typesString = args[++i];
break;
case Tokens.NAME_PREFIX:
options.setNamePrefix(args[++i]);
break;
}
}
for (int i = 0; i < args.length; i++) {
String arg = args[i];
switch (arg) {
case Tokens.TYPES:
case Tokens.NAME_PREFIX:
i++;
break;
case Tokens.DB:
options.setDatabaseName(args[++i]);
break;
case Tokens.SQL:
options.setSql(args[++i]);
options.setCommandType(CLIOptions.COMMAND_TYPE.QUERY);
break;
case Tokens.SQL_UPDATE:
case Tokens.SQL_INSERT:
options.setSql(args[++i]);
options.setCommandType(CLIOptions.COMMAND_TYPE.UPDATE);
break;
case Tokens.BATCH:
options.setBatch(true);
break;
case Tokens.DATA:
break;
}
}
return options;
}
public static class Tokens {
public static final String DB = "--db";
public static final String SQL = "--sql";
public static final String SQL_UPDATE = "--sql-update";
public static final String SQL_INSERT = "--sql-insert";
public static final String BATCH = "--batch";
public static final String DATA = "--data";
public static final String NAME_PREFIX = "--name-prefix";
public static final String TYPES = "--types";
private Tokens() {
}
}
}