package org.whole.lang.e4.ui.util; import org.whole.lang.model.IEntity; import org.whole.lang.templates.AbstractTemplateFactory; import org.whole.lang.templates.AbstractTemplateManager; import org.whole.lang.templates.ITemplateFactory; public class WrapActionsTemplateManager extends AbstractTemplateManager { private static class SingletonHolder { private static final WrapActionsTemplateManager instance = new WrapActionsTemplateManager(); } public static WrapActionsTemplateManager instance() { return SingletonHolder.instance; } private WrapActionsTemplateManager() { put("WrapIn", newWrapIn()); put("WrapInIndex", newWrapInIndex()); put("WrapWithin", newWrapWithin()); } public ITemplateFactory<IEntity> newWrapIn() { return new AbstractTemplateFactory<IEntity>() { public void apply(org.whole.lang.builders.IBuilderOperation op) { org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI); b0.Scope_(); b0.Names_(1); b0.Name("newEntity"); b0._Names(); b0.Block_(2); b0.PointwiseUpdate_(); b0.Path_(2); b0.Filter_(); org.whole.lang.workflows.builders.IWorkflowsBuilder b1 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI); b1.CreateEntity_(); b1.Text("create replacement entity"); org.whole.lang.commons.builders.ICommonsBuilder b2 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b2.Resolver(); b1.Registry("DEFAULT"); b2.Variable_(); b2.VarType("http://lang.whole.org/Workflows#StringLiteral"); b2.VarName("edUri"); b2.Quantifier("!"); b2._Variable(); b2.Resolver(); b1._CreateEntity(); b0.VariableTest("newEntity"); b0._Filter(); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("fdUri"); b2.Quantifier("!"); b2._Variable(); b0._Path(); b1.InvokeJavaClassMethod_(); b1.Text("clone entity"); b2.Resolver(); b2.Resolver(); b1.StringLiteral("org.whole.lang.util.EntityUtils"); b1.StringLiteral("clone(org.whole.lang.model.IEntity)"); b1.Expressions_(1); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b1._Expressions(); b1._InvokeJavaClassMethod(); b0._PointwiseUpdate(); b0.PointwiseUpdate_(); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b0.VariableRefStep("newEntity"); b0._PointwiseUpdate(); b0._Block(); b0._Scope(); } }; } public ITemplateFactory<IEntity> newWrapInIndex() { return new AbstractTemplateFactory<IEntity>() { public void apply(org.whole.lang.builders.IBuilderOperation op) { org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI); b0.Scope_(); b0.Names_(1); b0.Name("newEntity"); b0._Names(); b0.Block_(4); b0.Filter_(); org.whole.lang.workflows.builders.IWorkflowsBuilder b1 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI); b1.CreateEntity_(); b1.Text("create replacement entity"); org.whole.lang.commons.builders.ICommonsBuilder b2 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b2.Resolver(); b1.Registry("DEFAULT"); b2.Variable_(); b2.VarType("http://lang.whole.org/Workflows#StringLiteral"); b2.VarName("edUri"); b2.Quantifier("!"); b2._Variable(); b2.Resolver(); b1._CreateEntity(); b0.VariableTest("newEntity"); b0._Filter(); b0.If_(); b0.And_(2); b0.ExpressionTest_(); b0.Filter_(); b0.VariableRefStep("newEntity"); b0.KindTest("COMPOSITE"); b0._Filter(); b0._ExpressionTest(); b0.Not_(); b0.ExpressionTest_(); b0.Path_(2); b0.VariableRefStep("newEntity"); b0.Filter_(); b0.ChildStep(); b0.IndexTest_(); b0.IntLiteral(0); b0._IndexTest(); b0._Filter(); b0._Path(); b0._ExpressionTest(); b0._Not(); b0._And(); b0.PointwiseInsert_(); b0.Placement("INTO"); b0.VariableRefStep("newEntity"); b2.StageUpFragment_(); b2.Variable_(); b2.VarType("http://lang.whole.org/Commons#Any"); b2.VarName("placeholder"); b2.Quantifier("!"); b2._Variable(); b2._StageUpFragment(); b0._PointwiseInsert(); b0._If(); b0.PointwiseUpdate_(); b0.Path_(2); b0.VariableRefStep("newEntity"); b0.Filter_(); b0.ChildStep(); b0.IndexTest_(); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#IntLiteral"); b2.VarName("fdIndex"); b2.Quantifier("!"); b2._Variable(); b0._IndexTest(); b0._Filter(); b0._Path(); b1.InvokeJavaClassMethod_(); b1.Text("clone entity"); b2.Resolver(); b2.Resolver(); b1.StringLiteral("org.whole.lang.util.EntityUtils"); b1.StringLiteral("clone(org.whole.lang.model.IEntity)"); b1.Expressions_(1); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b1._Expressions(); b1._InvokeJavaClassMethod(); b0._PointwiseUpdate(); b0.PointwiseUpdate_(); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b0.VariableRefStep("newEntity"); b0._PointwiseUpdate(); b0._Block(); b0._Scope(); } }; } public ITemplateFactory<IEntity> newWrapWithin() { return new AbstractTemplateFactory<IEntity>() { public void apply(org.whole.lang.builders.IBuilderOperation op) { org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI); b0.Scope_(); b0.Names_(1); b0.Name("newEntity"); b0._Names(); b0.Block_(2); b0.PointwiseUpdate_(); b0.Path_(3); b0.Filter_(); org.whole.lang.workflows.builders.IWorkflowsBuilder b1 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI); b1.CreateEntity_(); b1.Text("create replacement entity"); org.whole.lang.commons.builders.ICommonsBuilder b2 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b2.Resolver(); b1.Registry("DEFAULT"); b2.Variable_(); b2.VarType("http://lang.whole.org/Workflows#StringLiteral"); b2.VarName("edUri"); b2.Quantifier("!"); b2._Variable(); b2.Resolver(); b1._CreateEntity(); b0.VariableTest("newEntity"); b0._Filter(); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("fdUri"); b2.Quantifier("!"); b2._Variable(); b0.Filter_(); b0.ChildStep(); b0.IndexTest_(); b0.IntLiteral(0); b0._IndexTest(); b0._Filter(); b0._Path(); b1.InvokeJavaClassMethod_(); b1.Text("clone entity"); b2.Resolver(); b2.Resolver(); b1.StringLiteral("org.whole.lang.util.EntityUtils"); b1.StringLiteral("clone(org.whole.lang.model.IEntity)"); b1.Expressions_(1); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b1._Expressions(); b1._InvokeJavaClassMethod(); b0._PointwiseUpdate(); b0.PointwiseUpdate_(); b0.Path_(2); b0.VariableRefStep("focusEntity"); b2.Variable_(); b2.VarType("http://lang.whole.org/Queries#FeatureStep"); b2.VarName("intoFDUri"); b2.Quantifier("?"); b2._Variable(); b0._Path(); b0.VariableRefStep("newEntity"); b0._PointwiseUpdate(); b0._Block(); b0._Scope(); } }; } }