Skip to content

Commit

Permalink
Merge branch 'branch-Level9'
Browse files Browse the repository at this point in the history
  • Loading branch information
rayasamhr committed Sep 1, 2020
2 parents 2763c62 + 6c7d20b commit c8ffbc9
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/main/java/duke/Parser.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ public static Command parse(String input) throws DukeException {
} else if (inputByParts[0].equals("done")) {
int taskNumber = Integer.parseInt(inputByParts[1]);
return new MarkDoneCommand(taskNumber);
} else if (inputByParts[0].equals("find")) {
String toFind = inputByParts[1];
return new FindCommand(toFind);
} else {
String taskType = inputByParts[0];
validateTaskType(taskType);
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/duke/TaskList.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import duke.exception.DukeException;
import duke.task.Task;

import java.util.ArrayList;
import java.util.List;

public class TaskList {
Expand Down Expand Up @@ -50,6 +51,16 @@ public Task getTask(int taskNumber) throws DukeException {
}
}

public TaskList findTasks(String phrase) {
List<Task> searchResult = new ArrayList<>();
for (Task task: taskList) {
if (task.getDescription().contains(phrase)) {
searchResult.add(task);
}
}
return new TaskList(searchResult);
}

public int getCount() {
return taskList.size();
}
Expand Down
24 changes: 24 additions & 0 deletions src/main/java/duke/command/FindCommand.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package duke.command;

import duke.Storage;
import duke.TaskList;
import duke.Ui;

public class FindCommand implements Command {
private String toFind;

public FindCommand(String toFind) {
this.toFind = toFind;
}

@Override
public void execute(TaskList tasks, Ui ui, Storage storage) {
ui.listTasks(
tasks.findTasks(toFind));
}

@Override
public boolean isExit() {
return false;
}
}
4 changes: 4 additions & 0 deletions src/main/java/duke/task/Task.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,8 @@ public String getSaveFormat() {
protected String boxFormat(String symbol) {
return String.format("[%s]", symbol);
}

public String getDescription() {
return description;
}
}

0 comments on commit c8ffbc9

Please sign in to comment.