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; } }