/** * Entry point of the initialization of the {@link DomainFenixFrameworkRoot}, which initializes the {@link DomainMetaClass}es * and the {@link DomainConsistencyPredicate}s. If * the framework was configured not to create meta objects, it deletes all {@link DomainMetaClass}es and * {@link DomainConsistencyPredicate}s * instead. */ public void initialize(DomainModel domainModel) { checkFrameworkNotInitialized(); if (ConsistencyPredicatesConfig.canCreateDomainMetaObjects()) { logger.trace("Starting initialization of the DomainMetaClasses"); initializeDomainMetaClasses(domainModel); logger.trace("Finished the initialization of the DomainMetaClasses"); logger.trace("Starting initialization of the DomainConsistencyPredicates"); initializeDomainConsistencyPredicates(); logger.trace("Finished the initialization of the DomainConsistencyPredicates"); checkAllMethodsOverridingPredicates(); } else { deleteAllMetaObjectsAndClasses(); } }