feat(07-books): Добавлено задание
This commit is contained in:
46
labs/07-books/README.md
Normal file
46
labs/07-books/README.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Консольный интерфейс для книг (`07-books`)
|
||||
|
||||
## Формулировка задания
|
||||
|
||||
Дан XML-файл следующего содержания:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<books>
|
||||
<book id="1">
|
||||
<author>J. Smith</author>
|
||||
<name>Steve Jobs</name>
|
||||
<year>2024</year>
|
||||
</book>
|
||||
<book id="2">
|
||||
<author>J. Smith</author>
|
||||
<name>Steve Jobs</name>
|
||||
<year>2022</year>
|
||||
</book>
|
||||
<book id="3">
|
||||
<author>A. Turing</author>
|
||||
<name>Computing Machinery and Intelligence</name>
|
||||
<year>1950</year>
|
||||
</book>
|
||||
<book id="4">
|
||||
<author>G. Orwell</author>
|
||||
<name>1984</name>
|
||||
<year>1949</year>
|
||||
</book>
|
||||
</books>
|
||||
```
|
||||
|
||||
Необходимо спарсить его в класс, и реализовать консольный интерфейс для работы с ним. Доступные команды:
|
||||
- Вывод всех книг
|
||||
- Поиск книг по имени автора или году издания
|
||||
- Вывод в консоль пар `автор + название` с возможностью сортировать как по автору, так и по названию
|
||||
- Поиск книг по диапозону дат
|
||||
|
||||
Операции для поиска данных реализовать с помощью Streaming API.
|
||||
|
||||
## Запуск через Gradle
|
||||
|
||||
```sh
|
||||
gradle run --console=plain --args="/tmp/books.xml"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user