package org.gradle.samples.utils; import org.gradle.samples.core.Person; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.Calendar; import static org.apache.commons.lang3.StringUtils.capitalize; public class PersonUtils { private final static Pattern PATTERN = Pattern.compile("([0-9]{2})[-/]([0-9]{2})[-/]([0-9]{4})"); public static Person of(String firstName, String lastName, String dateOfBirth) { Matcher m = PATTERN.matcher(dateOfBirth); if (m.matches()) { Calendar calendar = Calendar.getInstance(); calendar.set(Integer.valueOf(m.group(3)), Integer.valueOf(m.group(2)) + 1, Integer.valueOf(m.group(1))); return new Person(capitalize(firstName), capitalize(lastName), calendar.getTime()); } throw new IllegalArgumentException("Unsupported date format: " + dateOfBirth); } }