d5fdee9833
See README for usage. Change-Id: Ibcbd4ee3882097a8d01ca219aeef0130778436f6
51 lines
1.8 KiB
Java
51 lines
1.8 KiB
Java
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
|
|
/**
|
|
* Created by adnan on 11/17/15.
|
|
*/
|
|
public class RowParser {
|
|
private static final String REGEX = "=(.+)";
|
|
private static Pattern p = Pattern.compile(REGEX);
|
|
|
|
public static Setting parseAndPopulate(boolean fromCursor, String line) {
|
|
Setting setting = new Setting();
|
|
String[] splitStrings = line.split(",");
|
|
for (int i = 0; i < 4; i++) {
|
|
Matcher matcher = p.matcher(splitStrings[i]);
|
|
while (matcher.find()) {
|
|
String value = matcher.group(0).replace("=", "").trim();
|
|
switch (i) {
|
|
case 0:
|
|
setting.setKey(value);
|
|
break;
|
|
case 1:
|
|
//Seriously?
|
|
if (fromCursor) {
|
|
setting.setKeyType(
|
|
Setting.SettingType.mapNumericToType(
|
|
Integer.parseInt(value)));
|
|
} else {
|
|
setting.setKeyType(value);
|
|
}
|
|
break;
|
|
case 2:
|
|
setting.setValue(value);
|
|
break;
|
|
case 3:
|
|
//Who the fuck decided to do this?
|
|
if (fromCursor) {
|
|
setting.setValueType(
|
|
Setting.SettingType.mapNumericToType(
|
|
Integer.parseInt(value)));
|
|
} else {
|
|
setting.setValueType(value);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return setting;
|
|
}
|
|
}
|