Создание экземпляров объектов по rt

Для создания объектов по конфигурации rt используется объект jandcode.app.ObjectFactory. Экземпляр фабрики объектов доступен через App.getObjectFactory(). Некоторые объекты и сервисы, которые предоставляют собственный контекст объектам (например Model), имеют собственный экземпляр фабрики и объекты нужно создавать через нее, для обеспечения правильного контекста.

В объекте rt ищется атрибут class, в котором указан класс, экземпляр которого нужно создать.

Объект инициализируется контекстом, в котором он создан.

Затем, если объект реализует интерфейс jandcode.utils.rt.IRtLinkSet, то ему вызывается метод setRt(rt). Объект сам инициализирует себя по переданой rt.

Пример. Допустим имеется такая конфигурация:

<root>
    <simpleobject>
        <object1 class="mypak.Object1">
        </object1>
    </simpleobject>
</root>

Создание объекта:

Rt conf = getApp().getRt().getChild("simpleobject/object1");
mypak.Object1 inst = (mypak.Object1) getApp().getObjectFactory().create(conf);

В этом случае процесс инициализации будет выглядеть так:

  • создается экземпляр объекта mypak.Object1
  • объекту устанвливается контекст создания
  • если он реализует интерфейс jandcode.utils.rt.IRtLinkSet, то у него вызывается метод setRt, в качестве параметра передается conf

Предыдущий раздел

Конфигурация приложения

Следующий раздел

jandcode.app.CompRt

Эта страница