blob: e1c0de7543144427b60880105b924d3ab9096431 [file] [log] [blame]
Adnan Begovicd5fdee92015-11-13 15:28:21 -08001import java.util.regex.Matcher;
2import java.util.regex.Pattern;
3
4/**
5 * Created by adnan on 11/17/15.
6 */
7public class RowParser {
8 private static final String REGEX = "=(.+)";
9 private static Pattern p = Pattern.compile(REGEX);
10
11 public static Setting parseAndPopulate(boolean fromCursor, String line) {
12 Setting setting = new Setting();
13 String[] splitStrings = line.split(",");
14 for (int i = 0; i < 4; i++) {
15 Matcher matcher = p.matcher(splitStrings[i]);
16 while (matcher.find()) {
17 String value = matcher.group(0).replace("=", "").trim();
18 switch (i) {
19 case 0:
20 setting.setKey(value);
21 break;
22 case 1:
23 //Seriously?
24 if (fromCursor) {
25 setting.setKeyType(
26 Setting.SettingType.mapNumericToType(
27 Integer.parseInt(value)));
28 } else {
29 setting.setKeyType(value);
30 }
31 break;
32 case 2:
33 setting.setValue(value);
34 break;
35 case 3:
36 //Who the fuck decided to do this?
37 if (fromCursor) {
38 setting.setValueType(
39 Setting.SettingType.mapNumericToType(
40 Integer.parseInt(value)));
41 } else {
42 setting.setValueType(value);
43 }
44 break;
45 }
46 }
47 }
48 return setting;
49 }
50}