package org.whole.lang.models.codebase;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class TypesModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> {
public void apply(IBuilderOperation op) {
org.whole.lang.models.builders.IModelsBuilder b0 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI);
b0.Model_();
b0.SimpleName("Types");
b0.TypeRelations_(0);
b0._TypeRelations();
b0.ModelDeclarations_(23);
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("TypeSystem");
b0.Types_(0);
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Operations");
b0.SimpleName("checkBefore");
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._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("TypeRules");
b0.SimpleName("rules");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("TypeRules");
b0.Types_(0);
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("TypeRule");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("TypeRule");
b0.Types_(0);
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("DomainType");
b0.SimpleName("domain");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Type");
b0.SimpleName("type");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Type");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("ArgumentType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("BasicType");
b0.Types_(2);
b0.SimpleName("Type");
b0.SimpleName("TypeExpression");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("AnyType");
b0.Types_(2);
b0.SimpleName("Type");
b0.SimpleName("BasicType");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.EnumEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("LegacyType");
b0.Types_(2);
b0.SimpleName("Type");
b0.SimpleName("BasicType");
b0._Types();
b0.EnumValues_(10);
b0.EnumValue("BOOLEAN");
b0.EnumValue("BYTE");
b0.EnumValue("CHAR");
b0.EnumValue("DOUBLE");
b0.EnumValue("FLOAT");
b0.EnumValue("INT");
b0.EnumValue("LONG");
b0.EnumValue("SHORT");
b0.EnumValue("STRING");
b0.EnumValue("DATE");
b0._EnumValues();
b0._EnumEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("VariableType");
b0.Types_(2);
b0.SimpleName("Type");
b0.SimpleName("BasicType");
b0._Types();
b0.DataType("int");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("DomainType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("EntityType");
b0.Types_(1);
b0.SimpleName("DomainType");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("UnionType");
b0.Types_(1);
b0.SimpleName("DomainType");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("EntityType");
b0._CompositeEntity();
b0.DataEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("FeatureType");
b0.Types_(1);
b0.SimpleName("ArgumentType");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("FeatureTableType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Arguments");
b0.SimpleName("arguments");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Cases");
b0.SimpleName("cases");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Arguments");
b0.Types_(0);
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("ArgumentType");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Cases");
b0.Types_(0);
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Case");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Case");
b0.Types_(0);
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("BasicType");
b0.SimpleName("type");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("Expressions");
b0.SimpleName("expressions");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("Expressions");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("OrExpressions");
b0.Types_(1);
b0.SimpleName("Expressions");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("TypeExpressions");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("TypeExpressions");
b0.Types_(1);
b0.SimpleName("Expressions");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("TypeExpression");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(1);
b0.EntityModifier("abstract");
b0._EntityModifiers();
b0.SimpleName("TypeExpression");
b0.Types_(0);
b0._Types();
b0.Features_(0);
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Subtype");
b0.Types_(1);
b0.SimpleName("TypeExpression");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("VariableType");
b0.SimpleName("name");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("VariableType");
b0.SimpleName("type");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers_(0);
b0._EntityModifiers();
b0.SimpleName("Supertype");
b0.Types_(1);
b0.SimpleName("TypeExpression");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("VariableType");
b0.SimpleName("name");
b1.Resolver();
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(0);
b0._FeatureModifiers();
b0.SimpleName("VariableType");
b0.SimpleName("type");
b1.Resolver();
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0._ModelDeclarations();
b0.Namespace("org.whole.lang.types");
b1.Resolver();
b0.URI("http://lang.whole.org/Types");
b0._Model();
}
}