Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Task fromString (String line) {
- try {
- if (!line.isBlank() && !line.isEmpty()) {
- String[] tokens = line.split(",");
- TaskType type = TaskType.valueOf(tokens[1]);
- for (int i = 0; i < tokens.length; i++) {
- switch (type) {
- case TASK -> {
- Task task = new Task();
- task.setId(Long.parseLong(tokens[0]));
- task.setName(tokens[2]);
- task.setStatus(tokens[3]);
- task.setDesc(tokens[4]);
- if (!tokens[5].equals("null") && !tokens[6].equals("null")) {
- task.setStartTime(LocalDateTime.parse(tokens[5]));
- task.setDuration(Duration.parse(tokens[6]));
- }
- return task;
- }
- case EPIC -> {
- Epic epic = new Epic();
- epic.setId(Long.parseLong(tokens[0]));
- epic.setName(tokens[2]);
- epic.setStatus(tokens[3]);
- epic.setDesc(tokens[4]);
- if (!tokens[5].equals("null") && !tokens[6].equals("null")) {
- epic.setStartTime(LocalDateTime.parse(tokens[5]));
- epic.setDuration(Duration.parse(tokens[6]));
- }
- return epic;
- }
- case SUBTASK -> {
- if (tokens.length > 7) {
- Subtask subtask = new Subtask();
- subtask.setId(Long.parseLong(tokens[0]));
- subtask.setName(tokens[2]);
- subtask.setStatus(tokens[3]);
- subtask.setDesc(tokens[4]);
- if (!tokens[5].equals("null") && !tokens[6].equals("null")) {
- subtask.setStartTime(LocalDateTime.parse(tokens[5]));
- subtask.setDuration(Duration.parse(tokens[6]));
- }
- subtask.setEpicId(Long.parseLong(tokens[7]));
- return subtask;
- }
- }
- }
- }
- }
- } catch (DateTimeParseException e) {
- throw new RuntimeException(e);
- }return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement