package org.whole.lang.models.codebase;
import org.whole.lang.templates.AbstractTemplateFactory;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.models.reflect.ModelsLanguageKit;
import org.whole.lang.models.builders.IModelsBuilder;
/**
* @generator Whole
*/
public class ORMModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> {
public void apply(IBuilderOperation op) {
IModelsBuilder b0 = (IModelsBuilder) op
.wGetBuilder(ModelsLanguageKit.URI);
b0.Model_();
b0.SimpleName("ORM");
b0.TypeRelations();
b0.ModelDeclarations_(13);
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("ORM");
b0.Types();
b0.Features_(10);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("modelName");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("id");
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("modelPackage");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Entities");
b0.SimpleName("entities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("simpleEntities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("compositeEntities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("mapEntities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("dataEntities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("enumEntities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Types");
b0.SimpleName("types");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("TypeNameTypeMap");
b0.SimpleName("typeNameTypeMap");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Name");
b0.Types();
b0.DataType("String");
b0._DataEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Entities");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("ModelEntity");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("EntitiesRef");
b0.Types();
b0.ComponentModifiers_(2);
b0.ComponentModifier("reference");
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("ModelEntity");
b0._CompositeEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("ModelEntity");
b0.Types();
b0.DataType("org.whole.lang.models.model.ModelDeclaration");
b0._DataEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("OccurrenciesRef");
b0.Types();
b0.ComponentModifiers_(2);
b0.ComponentModifier("reference");
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("Occurrency");
b0._CompositeEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Occurrency");
b0.Types();
b0.DataType("org.whole.lang.models.model.IModelsEntity");
b0._DataEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Types");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("ModelType");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("TypesRef");
b0.Types();
b0.ComponentModifiers_(2);
b0.ComponentModifier("reference");
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("ModelType");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("ModelType");
b0.Types();
b0.Features_(7);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("id");
b0._FeatureModifiers();
b0.SimpleName("TypeName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("interfaceName");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("MappingStrategy");
b0.SimpleName("mappingStrategy");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("TypesRef");
b0.SimpleName("supertypes");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("TypesRef");
b0.SimpleName("subtypes");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("EntitiesRef");
b0.SimpleName("entities");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("OccurrenciesRef");
b0.SimpleName("occurrencies");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("TypeName");
b0.Types();
b0.DataType("String");
b0._DataEntity();
b0.EnumEntity_();
b0.EntityModifiers();
b0.SimpleName("MappingStrategy");
b0.Types();
b0.EnumValues_(4);
b0.EnumValue("tablePerType");
b0.EnumValue("tablePerEntity");
b0.EnumValue("embedded");
b0.EnumValue("implicit");
b0._EnumValues();
b0._EnumEntity();
b0.MapEntity_();
b0.EntityModifiers();
b0.SimpleName("TypeNameTypeMap");
b0.Types();
b0.SimpleName("TypeName");
b0.SimpleName("ModelType");
b0._MapEntity();
b0._ModelDeclarations();
b0.Namespace("org.whole.lang.orm");
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.Resolver();
b0.URI("http://lang.whole.org/ORM");
b0._Model();
}
}