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 OperationsModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> {
public void apply(IBuilderOperation op) {
IModelsBuilder b0 = (IModelsBuilder) op
.wGetBuilder(ModelsLanguageKit.URI);
b0.Model_();
b0.SimpleName("Operations");
b0.TypeRelations_(0);
b0._TypeRelations();
b0.ModelDeclarations_(20);
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Operations");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("Operation");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Operation");
b0.Types();
b0.Features_(4);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Declarations");
b0.SimpleName("declarations");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IOperationBody");
b0.SimpleName("body");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Name");
b0.Types_(2);
b0.SimpleName("IName");
b0.SimpleName("IPattern");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Parameters");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("IParameter");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Declarations");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("IDeclaration");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("VariableDeclaration");
b0.Types_(2);
b0.SimpleName("IDeclaration");
b0.SimpleName("IParameter");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("type");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IExpression");
b0.SimpleName("initializer");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("TraverseStep");
b0.Types_(2);
b0.SimpleName("IOperationBody");
b0.SimpleName("IStep");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Cases");
b0.SimpleName("cases");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("MatchStep");
b0.Types_(2);
b0.SimpleName("IOperationBody");
b0.SimpleName("IStep");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IExpression");
b0.SimpleName("exp");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Cases");
b0.SimpleName("cases");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Cases");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("ICase");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("WhenCase");
b0.Types_(1);
b0.SimpleName("ICase");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IPattern");
b0.SimpleName("pattern");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Steps");
b0.SimpleName("steps");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Steps");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("IStep");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("OtherwiseCase");
b0.Types_(1);
b0.SimpleName("ICase");
b0._Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("IStep");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("CallStep");
b0.Types_(2);
b0.SimpleName("IExpression");
b0.SimpleName("IStep");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Arguments");
b0.SimpleName("arguments");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Arguments");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("unique");
b0._ComponentModifiers();
b0.SimpleName("IExpression");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("AssignmentStep");
b0.Types_(2);
b0.SimpleName("IExpression");
b0.SimpleName("IStep");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IName");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IExpression");
b0.SimpleName("initializer");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("InfixExpression");
b0.Types_(1);
b0.SimpleName("IExpression");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IExpression");
b0.SimpleName("leftOperand");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("InfixOperator");
b0.SimpleName("operator");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("IExpression");
b0.SimpleName("rightOperand");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.EnumEntity_();
b0.EntityModifiers();
b0.SimpleName("InfixOperator");
b0.Types();
b0.EnumValues_(4);
b0.EnumValue("addition");
b0.EnumValue("subtraction");
b0.EnumValue("multiplication");
b0.EnumValue("division");
b0._EnumValues();
b0._EnumEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("NumberLiteral");
b0.Types_(1);
b0.SimpleName("IExpression");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("StringLiteral");
b0.Types_(1);
b0.SimpleName("IExpression");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("NullLiteral");
b0.Types_(1);
b0.SimpleName("IExpression");
b0._Types();
b0.Features();
b0._SimpleEntity();
b0._ModelDeclarations();
b0.Namespace("org.whole.lang.operations");
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/Operations");
b0._Model();
}
}