use of org.whole.lang.models.util.ModelInfo in project whole by wholeplatform.
the class ModelsJavaModelGeneratorVisitor method visit.
public void visit(Model modelOrig) {
Model model = EntityUtils.clone(modelOrig);
modelInfo = new ModelInfo(model);
modelInfo.addInheritedFeatures(model);
modelInfo.addUndeclaredTypes(model);
modelInfo.sortFeatures(model);
beforeModel(model);
modelsGen.visitorsBuilder();
modelsGen.entityInterfaceBuilder();
modelsGen.entityFactoryBuilder();
if (hasUI)
modelsGen.partFactoryVisitorBuilder();
model.getDeclarations().accept(this);
model.getTypeRelations().accept(this);
// modelsGen.applyTypeDeclarations();
afterModel();
}
use of org.whole.lang.models.util.ModelInfo in project whole by wholeplatform.
the class ModelsInterpreterVisitor method configureLanguageKit.
public void configureLanguageKit(DynamicLanguageKit languageKit, Model model) {
modelInfo = new ModelInfo(model);
modelInfo.addInheritedFeatures(model);
modelInfo.addUndeclaredTypes(model);
modelInfo.sortFeatures(model);
entityDescriptorEnum = languageKit.getEntityDescriptorEnum();
featureDescriptorEnum = languageKit.getFeatureDescriptorEnum();
model.getDeclarations().accept(new EntityDescriptorDefinitionVisitor());
model.getDeclarations().accept(new EntityDescriptorCompletionVisitor());
model.getTypeRelations().accept(new TypeRelationsVisitor());
}
use of org.whole.lang.models.util.ModelInfo in project whole by wholeplatform.
the class ModelsValidatorVisitor method visit.
@Override
public void visit(Model entity) {
modelInfo = new ModelInfo(entity);
super.visit(entity);
}
use of org.whole.lang.models.util.ModelInfo in project whole by wholeplatform.
the class ModelsNormalizerVisitor method visit.
@Override
public void visit(Model entity) {
ModelInfo modelInfo = new ModelInfo(entity);
modelInfo.addInheritedFeatures(entity);
modelInfo.addUndeclaredTypes(entity);
modelInfo.sortFeatures(entity);
}