Задание : Реализовать на базе программы из лабораторной работы №4 консольное приложение, которое реализует управление коллекцией объектов в интерактивном режиме. Номенклатуру сохраняемых в коллекции объектов необходимо заранее согласовать с преподавателем. Разработанная программа должна удовлетворять следующим требованиям:
- Класс, коллекцией экземпляров которого управляет программа, должен реализовывать сортировку по умолчанию.
- Для хранения необходимо использовать коллекцию типа java.util.Stack.
- При запуске приложения коллекция должна автоматически заполняться значениями из файла.
- Имя файла должно передаваться программе с помощью переменной окружения.
- Данные должны храниться в файле в формате json.
- При остановке приложения текущее состояние коллекции должно автоматически сохраняться в файл.
- Чтение данных из файла необходимо реализовать с помощью класса java.io.FileReader.
- Запись данных в файл необходимо реализовать с помощью класса java.io.BufferedWriter.
- Все реализованные команды (см. ниже) должны быть задокументированы в формате javadoc.
- Формат задания объектов в командах - json.
В интерактивном режиме программа должна поддерживать выполнение следующих команд:
- add {element}: добавить новый элемент в коллекцию
- remove_first: удалить первый элемент из коллекции
- remove_greater {element}: удалить из коллекции все элементы, превышающие заданный
- show: вывести в стандартный поток вывода все элементы коллекции в строковом представлении
- info: вывести в стандартный поток вывода информацию о коллекции (тип, дата инициализации, количество элементов и т.д.)
- load: перечитать коллекцию из файла
- remove {element}: удалить элемент из коллекции по его значению Отчёт по работе должен содержать:
- Текст задания.
- Диаграмма классов разработанной программы.
- Исходный код программы.
- Выводы по работе.