Задание Реализовать консольное приложение для моделирования предметной области управления документооборотом. Приложение генерирует экземпляры документов, а затем выводит в консоль отчет. В приложении должен быть реализован базовый абстрактный класс Документ (Document), имеющий следующие поля: идентификатор документа; название документа; текст документа; регистрационный номер документа; дата регистрации документа; автор документа. Абстрактный класс Документ имеет наследников с указанными полями: Поручение (Task) дата выдачи поручения; срок исполнения поручения; ответственный исполнитель; признак контрольности; контролер поручения. Входящий документ (Incoming) отправитель; адресат; исходящий номер; исходящая дата регистрации. Исходящий документ (Outgoing) адресат; способ доставки. Класс Документ должен реализовывать интерфейс Comparable для возможности сортировки по полю Регистрационный номер и Дата регистрации. Также необходимо реализовать интерфейс Storable, который в дальнейшем будет использован для сохранения документов. Интерфейс должен реализовывать методы по получению идентификатора документа и наименованию хранилища (таблицы). Также модельные классы должны реализовывать метод toString() для вывода содержимого документа в консоль. Генерация документов выполняется с помощью порождающего объекта-фабрики. В качестве параметра фабрика принимает класс требуемого объекта. При генерации поля заполняются случайными значениями. При генерации регистрационного номера необходимо проверять, что документ с таким номером еще не был сгенерирован. В случае, если документ с генерируемым номером уже существует, то необходимо выбрасывать исключение DocumentExistsException. Для заполнения полей, связанных с сотрудниками или внешними адресатами (автор, исполнитель, адресат, отправитель) предусмотреть коллекцию заранее заданных значений. После генерации документов система выводит отчет. Отчет содержит перечень авторов документов и список документов, созданных ими: Иванов Иван Иванович: Входящий №1 от 10.10.2010. Название документа Исходящий №1 от 10.10.2010. Название документа Петров Петр Петрович: Поручение №1 от 10.10.2010. Название документа Авторы и документы должны быть отсортированы в лексикографическом порядке.
-
Notifications
You must be signed in to change notification settings - Fork 0
Saiongi/app
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published