/** * Creates a new SubmissionData object based on a String returned by {@link #toString()}. * * @param s A String */ public SubmissionData(String s) { String[] parts = s.split("&", 9); artist = decode(parts[0]); track = decode(parts[1]); startTime = parts[2].length() == 0 ? 0 : Long.valueOf(parts[2]); source = Source.valueOf(parts[3]); recommendationKey = parts[4].length() == 0 ? null : parts[4]; rating = parts[5].length() == 0 ? null : Rating.valueOf(parts[5]); length = parts[6].length() == 0 ? -1 : Integer.valueOf(parts[6]); album = parts[7].length() == 0 ? null : decode(parts[7]); tracknumber = parts[8].length() == 0 ? -1 : Integer.valueOf(parts[8]); }