public void setTags(String[] tags) { if (tags == null) { throw new IllegalArgumentException("Tags passed to setTags cannot be null"); } this.tags = new ArrayList<>(); /* Only add non-null and non-empty strings. */ for (String tag: tags) { if (!OrgStringUtils.isEmpty(tag)) { this.tags.add(tag); } } }
public static OrgRange parseOrNull(String str) { if (OrgStringUtils.isEmpty(str)) { return null; } return parse(str); }
public static OrgDateTime parseOrNull(String str) { if (OrgStringUtils.isEmpty(str)) { return null; } OrgDateTime time = new OrgDateTime(); time.string = str; return time; }
private void parseTimeOfDay(String str) { Matcher m = OrgPatterns.TIME_OF_DAY_P.matcher(str); if (! m.find()) { matchFailed(str, OrgPatterns.TIME_OF_DAY_P); } cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(m.group(2))); cal.set(Calendar.MINUTE, Integer.valueOf(m.group(3))); hasTime = true; if (! OrgStringUtils.isEmpty(m.group(4))) { // End time exists endCal = Calendar.getInstance(); endCal.setTime(cal.getTime()); endCal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(m.group(6))); endCal.set(Calendar.MINUTE, Integer.valueOf(m.group(7))); endCal.set(Calendar.SECOND, 0); endCal.set(Calendar.MILLISECOND, 0); } }
cal.set(Calendar.DAY_OF_MONTH, Integer.valueOf(m.group(4))); if (! OrgStringUtils.isEmpty(m.group(6))) { // Has time of day. parseTimeOfDay(string.substring(m.start(6))); } else {
public static OrgRepeater parse(String str) { OrgRepeater repeater = new OrgRepeater(); Matcher m = OrgPatterns.REPEATER.matcher(str); if (m.find()) { if (m.groupCount() == 7) { repeater.setTypeFromString(m.group(2)); repeater.setValue(m.group(3)); repeater.setUnit(m.group(4)); if (! OrgStringUtils.isEmpty(m.group(6))) { repeater.habitDeadline = new OrgInterval(); repeater.habitDeadline.setValue(m.group(6)); repeater.habitDeadline.setUnit(m.group(7)); } } else { throw new IllegalArgumentException("Expected 7 groups (got " + m.groupCount() + ") when matching repeater " + str + " against " + OrgPatterns.REPEATER); } } else { throw new IllegalArgumentException("Failed matching repeater " + str + " against " + OrgPatterns.REPEATER); } return repeater; }