Compare commits
2 Commits
dd1ec57cd3
...
782325ecc8
| Author | SHA1 | Date | |
|---|---|---|---|
| 782325ecc8 | |||
| ac7e84f133 |
@ -47,14 +47,9 @@ public class CliEngine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void handleHelp() {
|
void handleHelp() {
|
||||||
var template = " %-30s // %s";
|
registry.values().stream().map(handler -> handler.usage()).forEach(System.out::println);
|
||||||
System.out.println("Доступные команды:\n");
|
System.out.printf(Command.templateUsage, "help", "Вот этот список команд\n");
|
||||||
registry.values().stream()
|
System.out.printf(Command.templateUsage, "exit", "Выход, но лучше не надо)\n");
|
||||||
.map(handler -> String.format(template, handler.example(), handler.description()))
|
|
||||||
.forEach(System.out::println);
|
|
||||||
System.out.println();
|
|
||||||
System.out.printf(template, "help", "Вот этот список команд\n");
|
|
||||||
System.out.printf(template, "exit", "Выход, но лучше не надо)\n");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,11 +5,12 @@ import java.util.Optional;
|
|||||||
import ru.kamask.pet.todo.service.TaskService;
|
import ru.kamask.pet.todo.service.TaskService;
|
||||||
|
|
||||||
public interface Command {
|
public interface Command {
|
||||||
|
String templateUsage = " %-30s // %s";
|
||||||
|
String errorMessage = "Не корректно введена команда. Введите help для спарвки.";
|
||||||
|
|
||||||
Optional<String> handle(String[] args, TaskService service);
|
Optional<String> handle(String[] args, TaskService service);
|
||||||
|
|
||||||
String name();
|
String name();
|
||||||
|
|
||||||
String example();
|
String usage();
|
||||||
|
|
||||||
String description();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,17 +12,16 @@ public class CreateCommand implements Command {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<String> handle(String[] args, TaskService service) {
|
public Optional<String> handle(String[] args, TaskService service) {
|
||||||
// TODO create new todo
|
if (args.length > 0) {
|
||||||
return Optional.of("Добавление новой задачи");
|
var title = String.join(" ", args);
|
||||||
|
service.create(title);
|
||||||
|
return Optional.of(String.format("Задача \"%s\" успешно добавлена!", title));
|
||||||
|
}
|
||||||
|
return Optional.of(Command.errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String example() {
|
public String usage() {
|
||||||
return name() + " <title>";
|
return String.format(templateUsage, name() + " <название_задачи>", "Добавление новой задачи");
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String description() {
|
|
||||||
return "Добавление новой задачи";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user