java/sql-dk/src/info/globalcode/sql/dk/CLIStarter.java
author František Kučera <franta-hg@frantovo.cz>
Sun, 15 Dec 2013 20:16:27 +0100
branchv_0
changeset 2 72da10f632b5
parent 1 f32dac78d13a
child 3 efdf2b886feb
permissions -rw-r--r--
more code
     1 package info.globalcode.sql.dk;
     2 
     3 /**
     4  *
     5  * @author Ing. František Kučera (frantovo.cz)
     6  */
     7 public class CLIStarter {
     8 
     9 	public static final String DEFAULT_NAME_PREFIX = ":";
    10 
    11 	public static void main(String[] args) {
    12 
    13 		args = new String[]{"--sql", "SELECT * FROM tabulka;", "--db", "databáze_1"};
    14 
    15 		CLIOptions options = parseOptions(args);
    16 	}
    17 
    18 	private static CLIOptions parseOptions(String[] args) {
    19 		CLIOptions options = new CLIOptions();
    20 
    21 		String typesString = null;
    22 		String namePrefix = DEFAULT_NAME_PREFIX;
    23 
    24 
    25 		for (int i = 0; i < args.length; i++) {
    26 			String arg = args[i];
    27 			switch (arg) {
    28 				case Tokens.TYPES:
    29 					typesString = args[++i];
    30 					break;
    31 				case Tokens.NAME_PREFIX:
    32 					namePrefix = args[++i];
    33 					break;
    34 			}
    35 		}
    36 
    37 
    38 		for (int i = 0; i < args.length; i++) {
    39 			String arg = args[i];
    40 			switch (arg) {
    41 				case Tokens.TYPES:
    42 				case Tokens.NAME_PREFIX:
    43 					i++;
    44 					break;
    45 				case Tokens.DB:
    46 					options.setDatabaseName(args[++i]);
    47 					break;
    48 				case Tokens.SQL:
    49 					options.setSql(args[++i]);
    50 					options.setCommandType(CLIOptions.COMMAND_TYPE.QUERY);
    51 					break;
    52 				case Tokens.SQL_UPDATE:
    53 				case Tokens.SQL_INSERT:
    54 					options.setSql(args[++i]);
    55 					options.setCommandType(CLIOptions.COMMAND_TYPE.UPDATE);
    56 					break;
    57 				case Tokens.BATCH:
    58 					options.setBatch(true);
    59 					break;
    60 				case Tokens.DATA:
    61 					break;
    62 			}
    63 		}
    64 
    65 		return options;
    66 
    67 	}
    68 
    69 	public static class Tokens {
    70 
    71 		public static final String DB = "--db";
    72 		public static final String SQL = "--sql";
    73 		public static final String SQL_UPDATE = "--sql-update";
    74 		public static final String SQL_INSERT = "--sql-insert";
    75 		public static final String BATCH = "--batch";
    76 		public static final String DATA = "--data";
    77 		public static final String NAME_PREFIX = "--name-prefix";
    78 		public static final String TYPES = "--types";
    79 
    80 		private Tokens() {
    81 		}
    82 	}
    83 }