This repository has been archived on 2025-02-05. You can view files and clone it, but cannot push or open issues or pull requests.
Files
JavaOOP3Sem/labs/07-books/README.md
2024-11-08 00:44:40 +03:00

1.4 KiB
Raw Permalink Blame History

Консольный интерфейс для книг (07-books)

Формулировка задания

Дан 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

gradle run --console=plain --args="/tmp/books.xml"