Форматы файлов настроек
Описание зависимости объектов
Предлагаю предоставить полную свободу описаний зависимостей. По каждому объекту, используя загрузчик, можно получить его замыкание. Набросок файла:
<dependency name=string
atSameTransaction=boolean
onDelete=(noOrder| reverseOrder| deleteAll) [atWrongOrder=(ignore| save| wait)] > – описание односторонней зависимости объектов
<dependentEntity name=string /> – описание класса зависимого объекта
<closureEntity name=string /> – описание класса объекта-замыкания
<closureEntityLoader>string</closureEntityLoader> – имя класса-загрузчика для замыкания
</dependency>
<group name=string
atSameTransaction=boolean
> – описание группы объектов
<entity name=string /> – описания классов объектов группы
...
<entity name=string />
<loader>string</loader> – имя класса – загрузчика группы по объекту
</group>
Имя группы или односторонней зависимости может использоваться для построения названия метода, по которому загружаются объекты-замыкания. Например:
{closureClass} Loader.get For Dependency?{dependencyName} ( {dependentClass} obj );
Set<{dependentClass}> Loader.get For Group?{groupName} ( {dependentClass} obj );
Описание решений конфликтов