Данные модули реализуют один из способов создания процесса сервера Minecraft.
Process - это создание контролируемого процесса, который завязан на самом ASys. Проще говоря, выключится ASys - "упадет" процесс.
Screen - подходит только для Unix-based систем (или запуск в Cygwin). Для запуска процесса используется утилита screen. Для контроля работы процесса так же задействуются утилиты pgrep и ps. Созданный процесс является неконтролируемым и при отключении ASys, созданный процесс продолжит "жизнь".
Во-первых, так случалось, что при попытке получить не существующий параметр возникало исключение NullPointerException. А по логике, если параметр не найден, то надо бы и вернуть null, а не "ругаться в консоль".
Во-вторых, в стандартном OSGi API не предусмотрено возвращение значения по-умолчанию.
Эти две проблемы обновленный ASys API и решает.
Банк объектов (BankObject) создан с целью на время сохранить состояния объектов на время перезапуска какого-нибудь модуля. К примеру, модуль что работает с постоянным TCP-соединением, может не разрывая коннекта перезапуститься, сохранив объект-соединение в Банк Объектов перед выключением и загрузив его обратно после повторного запуска.
API простой: save(String, Object) - сохранение объекта под определенным именем; get(String) - получить объект под определенным именем.
Обращаю внимание, что реализация SimpleBankObject после выдачи объекта стирает его из своей памяти!
Изменено название: ArcadexSystem -> ASys.
Изменены корневые пакеты: eu.arcadex.system -> asys
Проект полностью переходит на модульную структуру. Удаляется модуль Core.