move some UI-specific stuff from MethodsModule to UserInterfaceModule

This commit is contained in:
Michael Becker 2024-08-14 22:42:37 -04:00
parent b417342093
commit 41d7fb1959
5 changed files with 83 additions and 30 deletions

View File

@ -190,8 +190,10 @@ namespace Mocha.Core
public static class GetRelationship public static class GetRelationship
{ {
public static Guid Instance__get__Parent_Class { get; } = new Guid("{bac8c59f-8994-41e8-b0c0-659ec8efc4e2}"); public static Guid Instance__get__Parent_Class { get; } = new Guid("{bac8c59f-8994-41e8-b0c0-659ec8efc4e2}");
// public static Guid Method__get__Parent_Class__HACK { get; } = new Guid("{89034a1c-50e5-47a1-abb8-076ece5343a8}");
} public static Guid Instance__get__Parent_Class__for__Method_Binding__HACK { get; set; }
// public static Guid Method__get__Parent_Class__HACK { get; } = new Guid("{89034a1c-50e5-47a1-abb8-076ece5343a8}");
}
public static class ConditionalSelectAttribute public static class ConditionalSelectAttribute
{ {
public static Guid Method__get__Method_Abbreviation { get; } = new Guid("{f0c64709-385d-481b-8f58-83e507fb261c}"); public static Guid Method__get__Method_Abbreviation { get; } = new Guid("{f0c64709-385d-481b-8f58-83e507fb261c}");

View File

@ -297,6 +297,7 @@ namespace Mocha.Core
public static Guid Instance__for__Element_Content { get; } = new Guid("{c3959f84-248d-4ede-a3f2-f262917c7b56}"); public static Guid Instance__for__Element_Content { get; } = new Guid("{c3959f84-248d-4ede-a3f2-f262917c7b56}");
public static Guid Element_Content__has__Element_Content_Display_Option { get; } = new Guid("{f070dfa7-6260-4488-a779-fae291903f2d}"); public static Guid Element_Content__has__Element_Content_Display_Option { get; } = new Guid("{f070dfa7-6260-4488-a779-fae291903f2d}");
public static Guid Element_Content_Display_Option__for__Element_Content { get; } = new Guid("{12fe7923-b3d2-4152-96c7-a901410b3466}");
public static Guid Element_Content__has__Parameter_Assignment { get; } = new Guid("{51214ef0-458a-44fa-8b9d-f3d9d2309388}"); public static Guid Element_Content__has__Parameter_Assignment { get; } = new Guid("{51214ef0-458a-44fa-8b9d-f3d9d2309388}");
public static Guid Parameter__assigned_from__Element_Content { get; } = new Guid("{dcef180b-a2ca-4d87-bb05-b946c319b562}"); public static Guid Parameter__assigned_from__Element_Content { get; } = new Guid("{dcef180b-a2ca-4d87-bb05-b946c319b562}");

View File

@ -32,11 +32,11 @@ public class MethodsModule : MiniOmsModule
private InstanceHandle c_WorkData, c_OMS; private InstanceHandle c_WorkData, c_OMS;
private InstanceHandle c_ParameterAssignment, c_Method, c_MethodBinding; private InstanceHandle c_ParameterAssignment, c_Method, c_MethodBinding;
private InstanceHandle a_Name, a_Order, a_Singular, a_Verb, a_Static, a_UseAnyCondition, a_Value; private InstanceHandle a_Name, a_Order, a_Singular, a_Verb, a_Static, a_UseAnyCondition, a_Value;
private InstanceHandle c_ReturnAttributeMethodBinding, c_ReturnInstanceSetMethodBinding, c_ReturnElementMethodBinding, c_BuildResponseMethodBinding; private InstanceHandle c_ReturnAttributeMethodBinding, c_ReturnInstanceSetMethodBinding, c_ReturnElementMethodBinding;
private InstanceHandle c_CommonText, c_CommonBoolean, c_CommonNumeric, c_CommonDate, c_CommonInstanceSet; private InstanceHandle c_CommonText, c_CommonBoolean, c_CommonNumeric, c_CommonDate, c_CommonInstanceSet;
private InstanceHandle c_ConditionGroup; private InstanceHandle c_ConditionGroup;
private InstanceHandle c_BuildAttributeMethod, c_GetAttributeMethod, c_GetSpecifiedInstancesMethod, c_GetAttributeBySystemRoutineMethod, c_AssignAttributeMethod, c_GetRelationshipMethod, c_GetReferencedAttributeMethod, c_SelectFromInstanceSetMethod, c_ConditionalSelectFromInstanceSetCase, c_ConditionalSelectFromInstanceSetMethod, c_ConditionalSelectAttributeMethod, c_ConditionalSelectAttributeCase, c_EvaluateBooleanExpressionMethod, c_BuildUIResponseMethod, c_ControlTransactionMethod; private InstanceHandle c_BuildAttributeMethod, c_GetAttributeMethod, c_GetSpecifiedInstancesMethod, c_GetAttributeBySystemRoutineMethod, c_AssignAttributeMethod, c_GetRelationshipMethod, c_GetReferencedAttributeMethod, c_SelectFromInstanceSetMethod, c_ConditionalSelectFromInstanceSetCase, c_ConditionalSelectFromInstanceSetMethod, c_ConditionalSelectAttributeMethod, c_ConditionalSelectAttributeCase, c_EvaluateBooleanExpressionMethod;
private InstanceHandle c_ExecutableReturningAttribute, c_ExecutableReturningInstanceSet, c_ExecutableReturningElement, c_ExecutableReturningWorkData; private InstanceHandle c_ExecutableReturningAttribute, c_ExecutableReturningInstanceSet, c_ExecutableReturningWorkData;
private InstanceHandle c_AccessModifier, i_AccessModifier_Private, i_AccessModifier_Protected, i_AccessModifier_Public, i_AccessModifier_RootA2; private InstanceHandle c_AccessModifier, i_AccessModifier_Private, i_AccessModifier_Protected, i_AccessModifier_Public, i_AccessModifier_RootA2;
private InstanceHandle c_SystemRoutine, c_SystemAttributeRoutine, c_SystemInstanceSetRoutine; private InstanceHandle c_SystemRoutine, c_SystemAttributeRoutine, c_SystemInstanceSetRoutine;
private InstanceHandle c_AccumulationFunction, c_SelectionFunction, c_SetFunction; private InstanceHandle c_AccumulationFunction, c_SelectionFunction, c_SetFunction;
@ -44,14 +44,10 @@ public class MethodsModule : MiniOmsModule
protected override void BuildInternal(Oms oms) protected override void BuildInternal(Oms oms)
{ {
c_Element = oms.CreateClass("Element", KnownInstanceGuids.Classes.Element); a_Name = oms.GetInstance(KnownAttributeGuids.Text.Name);
c_ElementContent = oms.CreateClass("Element Content", KnownInstanceGuids.Classes.ElementContent);
oms.CreateRelationship(c_Element, "has", c_ElementContent, KnownRelationshipGuids.Element__has__Element_Content, false, "for", KnownRelationshipGuids.Element_Content__for__Element);
oms.CreateRelationship(c_ElementContent, "has", c_Instance, KnownRelationshipGuids.Element_Content__has__Instance, true, "has", KnownRelationshipGuids.Instance__for__Element_Content);
c_ExecutableReturningAttribute = oms.CreateClass("Executable returning Attribute", KnownInstanceGuids.Classes.ExecutableReturningAttribute); c_ExecutableReturningAttribute = oms.CreateClass("Executable returning Attribute", KnownInstanceGuids.Classes.ExecutableReturningAttribute);
c_ExecutableReturningInstanceSet = oms.CreateClass("Executable returning Instance Set", KnownInstanceGuids.Classes.ExecutableReturningInstanceSet); c_ExecutableReturningInstanceSet = oms.CreateClass("Executable returning Instance Set", KnownInstanceGuids.Classes.ExecutableReturningInstanceSet);
c_ExecutableReturningElement = oms.CreateClass("Executable returning Element", KnownInstanceGuids.Classes.ExecutableReturningElement);
c_ExecutableReturningWorkData = oms.CreateClass("Executable returning Work Data", KnownInstanceGuids.Classes.ExecutableReturningWorkData); c_ExecutableReturningWorkData = oms.CreateClass("Executable returning Work Data", KnownInstanceGuids.Classes.ExecutableReturningWorkData);
oms.AddSuperClass(c_Attribute, c_ExecutableReturningAttribute); oms.AddSuperClass(c_Attribute, c_ExecutableReturningAttribute);
@ -75,9 +71,6 @@ public class MethodsModule : MiniOmsModule
c_ReturnElementMethodBinding = oms.CreateClass("Return Element Method Binding", KnownInstanceGuids.Classes.ReturnElementMethodBinding); c_ReturnElementMethodBinding = oms.CreateClass("Return Element Method Binding", KnownInstanceGuids.Classes.ReturnElementMethodBinding);
oms.AddSuperClass(c_ReturnElementMethodBinding, c_MethodBinding); oms.AddSuperClass(c_ReturnElementMethodBinding, c_MethodBinding);
c_BuildResponseMethodBinding = oms.CreateClass("Build Response Method Binding", KnownInstanceGuids.Classes.BuildResponseMethodBinding);
oms.AddSuperClass(c_BuildResponseMethodBinding, c_MethodBinding);
// c_ReturnWorkDataMethodBinding = oms.CreateClass("Return Work Data Method Binding", KnownInstanceGuids.Classes.ReturnWorkDataMethodBinding); // c_ReturnWorkDataMethodBinding = oms.CreateClass("Return Work Data Method Binding", KnownInstanceGuids.Classes.ReturnWorkDataMethodBinding);
c_AccumulationFunction = oms.CreateEnumeration(KnownInstanceGuids.Classes.AccumulationFunction, new Guid[] c_AccumulationFunction = oms.CreateEnumeration(KnownInstanceGuids.Classes.AccumulationFunction, new Guid[]
@ -91,7 +84,6 @@ public class MethodsModule : MiniOmsModule
KnownInstanceGuids.SelectionFunctions.Minimum KnownInstanceGuids.SelectionFunctions.Minimum
}); });
a_Name = oms.GetInstance(KnownAttributeGuids.Text.Name);
a_Order = oms.GetInstance(KnownAttributeGuids.Text.Order); a_Order = oms.GetInstance(KnownAttributeGuids.Text.Order);
a_Verb = oms.CreateInstanceOf(c_TextAttribute, KnownAttributeGuids.Text.Verb); a_Verb = oms.CreateInstanceOf(c_TextAttribute, KnownAttributeGuids.Text.Verb);
a_Static = oms.CreateInstanceOf(c_BooleanAttribute, KnownAttributeGuids.Boolean.Static); a_Static = oms.CreateInstanceOf(c_BooleanAttribute, KnownAttributeGuids.Boolean.Static);
@ -206,15 +198,6 @@ public class MethodsModule : MiniOmsModule
oms.CreateRelationship(c_ConditionalSelectAttributeMethod, "has", c_ConditionalSelectAttributeCase, KnownRelationshipGuids.Conditional_Select_Attribute_Method__has__Conditional_Select_Attribute_Case, false, "for", KnownRelationshipGuids.Conditional_Select_Attribute_Case__for__Conditional_Select_Attribute_Method); oms.CreateRelationship(c_ConditionalSelectAttributeMethod, "has", c_ConditionalSelectAttributeCase, KnownRelationshipGuids.Conditional_Select_Attribute_Method__has__Conditional_Select_Attribute_Case, false, "for", KnownRelationshipGuids.Conditional_Select_Attribute_Case__for__Conditional_Select_Attribute_Method);
oms.AddSuperClass(c_ConditionalSelectAttributeMethod, c_Method); oms.AddSuperClass(c_ConditionalSelectAttributeMethod, c_Method);
c_BuildUIResponseMethod = oms.CreateClass("BUIR - Build UI Response Method", KnownInstanceGuids.MethodClasses.BuildUIResponseMethod);
oms.CreateRelationship(c_BuildUIResponseMethod, "uses", c_ExecutableReturningElement, KnownRelationshipGuids.Build_UI_Response_Method__uses__Executable_returning_Element, true, "used by", KnownRelationshipGuids.Executable_returning_Element__used_by__Build_UI_Response_Method);
oms.AddSuperClass(c_BuildUIResponseMethod, c_Method);
c_ControlTransactionMethod = oms.CreateClass("CT - Control Transaction Method", KnownInstanceGuids.MethodClasses.ControlTransactionMethod);
oms.CreateRelationship(c_ControlTransactionMethod, "processes", c_Element, KnownRelationshipGuids.Control_Transaction_Method__processes__Element, true, "processed by", KnownRelationshipGuids.Element__processed_by__Control_Transaction_Method);
oms.CreateRelationship(c_ControlTransactionMethod, "uses", c_BuildResponseMethodBinding, KnownRelationshipGuids.Control_Transaction_Method__uses__Build_Response_Method_Binding, true, "used by", KnownRelationshipGuids.Build_Response_Method_Binding__used_by__Control_Transaction_Method);
oms.AddSuperClass(c_ControlTransactionMethod, c_Method);
InstanceHandle c_BooleanOperator = oms.CreateClass("Boolean Operator", KnownInstanceGuids.Classes.BooleanOperator); InstanceHandle c_BooleanOperator = oms.CreateClass("Boolean Operator", KnownInstanceGuids.Classes.BooleanOperator);
InstanceHandle c_RelationalOperator = oms.CreateClass("Relational Operator", KnownInstanceGuids.Classes.RelationalOperator); InstanceHandle c_RelationalOperator = oms.CreateClass("Relational Operator", KnownInstanceGuids.Classes.RelationalOperator);
@ -298,12 +281,8 @@ public class MethodsModule : MiniOmsModule
BuildAttributeMethod Method__get__GR_Method_Suffix = mb.CreateBuildAttributeMethod(c_Method, "get", "GR Method Suffix", AccessModifier.Public, true, a_Value, "GR"); BuildAttributeMethod Method__get__GR_Method_Suffix = mb.CreateBuildAttributeMethod(c_Method, "get", "GR Method Suffix", AccessModifier.Public, true, a_Value, "GR");
EvaluateBooleanExpressionMethod Method__is__Get_Relationship_Method = mb.CreateEvaluateBooleanExpressionMethod(c_Method, "is", "GR", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb.Handle, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.MethodClasses.GetRelationshipMethod)); EvaluateBooleanExpressionMethod Method__is__Get_Relationship_Method = mb.CreateEvaluateBooleanExpressionMethod(c_Method, "is", "GR", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb.Handle, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.MethodClasses.GetRelationshipMethod));
BuildAttributeMethod Method__get__CT_Method_Suffix = mb.CreateBuildAttributeMethod(c_Method, "get", "CT Method Suffix", AccessModifier.Public, true, a_Value, "CT");
EvaluateBooleanExpressionMethod Method__is__CT = mb.CreateEvaluateBooleanExpressionMethod(c_Method, "is", "CT", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb.Handle, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.MethodClasses.ControlTransactionMethod));
mb.CreateConditionalSelectAttributeMethod(c_Method, "get", "Method Abbreviation", AccessModifier.Public, false, KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method__get__Method_Abbreviation, a_Value, new ConditionalSelectAttributeCase[] mb.CreateConditionalSelectAttributeMethod(c_Method, "get", "Method Abbreviation", AccessModifier.Public, false, KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method__get__Method_Abbreviation, a_Value, new ConditionalSelectAttributeCase[]
{ {
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__CT.CreateMethodBinding(oms) }, null, false, Method__get__CT_Method_Suffix.CreateMethodBinding(oms)),
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Get_Attribute_by_System_Routine_Method.CreateMethodBinding(oms) }, null, false, Method__get__GAS_Method_Suffix.CreateMethodBinding(oms)), new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Get_Attribute_by_System_Routine_Method.CreateMethodBinding(oms) }, null, false, Method__get__GAS_Method_Suffix.CreateMethodBinding(oms)),
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Get_Relationship_Method.CreateMethodBinding(oms) }, null, false, Method__get__GR_Method_Suffix.CreateMethodBinding(oms)), new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Get_Relationship_Method.CreateMethodBinding(oms) }, null, false, Method__get__GR_Method_Suffix.CreateMethodBinding(oms)),
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Conditional_Select_Attribute_Method.CreateMethodBinding(oms) }, null, false, Method__get__SAC_Method_Suffix.CreateMethodBinding(oms)) new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__Conditional_Select_Attribute_Method.CreateMethodBinding(oms) }, null, false, Method__get__SAC_Method_Suffix.CreateMethodBinding(oms))
@ -319,6 +298,7 @@ public class MethodsModule : MiniOmsModule
{ {
new KeyValuePair<InstanceHandle, object?>(c_Instance, c_MethodBinding) new KeyValuePair<InstanceHandle, object?>(c_Instance, c_MethodBinding)
}); });
KnownInstanceGuids.Methods.GetRelationship.Instance__get__Parent_Class__for__Method_Binding__HACK = oms.GetGlobalIdentifier(Instance__get__Parent_Class_rsmb.Handle);
// RAMB // RAMB
BuildAttributeMethod Method_Binding__get__RAMB_Method_Binding_Suffix = mb.CreateBuildAttributeMethod(c_MethodBinding, "get", "RAMB Method Suffix", AccessModifier.Public, true, a_Value, "ramb"); BuildAttributeMethod Method_Binding__get__RAMB_Method_Binding_Suffix = mb.CreateBuildAttributeMethod(c_MethodBinding, "get", "RAMB Method Suffix", AccessModifier.Public, true, a_Value, "ramb");
@ -334,7 +314,7 @@ public class MethodsModule : MiniOmsModule
EvaluateBooleanExpressionMethod Method_Binding__is__Return_Instance_Set_Method_Binding = mb.CreateEvaluateBooleanExpressionMethod(c_MethodBinding, "is", "RSMB", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb.Handle, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.Classes.ReturnInstanceSetMethodBinding)); EvaluateBooleanExpressionMethod Method_Binding__is__Return_Instance_Set_Method_Binding = mb.CreateEvaluateBooleanExpressionMethod(c_MethodBinding, "is", "RSMB", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb.Handle, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.Classes.ReturnInstanceSetMethodBinding));
ReturnAttributeMethodBinding Method_Binding__is__Return_Instance_Set_Method_Binding_ramb = Method_Binding__is__Return_Instance_Set_Method_Binding.CreateMethodBinding(oms); ReturnAttributeMethodBinding Method_Binding__is__Return_Instance_Set_Method_Binding_ramb = Method_Binding__is__Return_Instance_Set_Method_Binding.CreateMethodBinding(oms);
mb.CreateConditionalSelectAttributeMethod(c_MethodBinding, "get", "Method Binding Abbreviation", AccessModifier.Public, false, KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method_Binding__get__Method_Binding_Abbreviation, a_Value, new ConditionalSelectAttributeCase[] ConditionalSelectAttributeMethod sac = mb.CreateConditionalSelectAttributeMethod(c_MethodBinding, "get", "Method Binding Abbreviation", AccessModifier.Public, false, KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method_Binding__get__Method_Binding_Abbreviation, a_Value, new ConditionalSelectAttributeCase[]
{ {
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method_Binding__is__Return_Attribute_Method_Binding_ramb }, null, false, Method_Binding__get__RAMB_Method_Binding_Suffix_ramb), new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method_Binding__is__Return_Attribute_Method_Binding_ramb }, null, false, Method_Binding__get__RAMB_Method_Binding_Suffix_ramb),
new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method_Binding__is__Return_Instance_Set_Method_Binding_ramb }, null, false, Method_Binding__get__RSMB_Method_Binding_Suffix_ramb) new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method_Binding__is__Return_Instance_Set_Method_Binding_ramb }, null, false, Method_Binding__get__RSMB_Method_Binding_Suffix_ramb)

View File

@ -0,0 +1,60 @@
using System;
using System.Reflection.Emit;
using Mocha.Core.Oop;
using Mocha.Core.Oop.Methods;
namespace Mocha.Core.OmsImplementations.Mini.Modules;
public class UserInterfaceModule : MiniOmsModule
{
private InstanceHandle c_Element, c_ElementContent;
private InstanceHandle r_User__has__Role;
private InstanceHandle a_Name;
private InstanceHandle c_ExecutableReturningElement;
private InstanceHandle c_ElementContentDisplayOption;
private InstanceHandle c_Method, c_MethodBinding, c_BuildUIResponseMethod, c_ControlTransactionMethod;
private InstanceHandle c_BuildResponseMethodBinding;
protected override void BuildInternal(Oms oms)
{
a_Name = oms.GetInstance(KnownAttributeGuids.Text.Name);
c_Method = oms.GetInstance(KnownInstanceGuids.Classes.Method);
c_MethodBinding = oms.GetInstance(KnownInstanceGuids.Classes.MethodBinding);
c_Element = oms.CreateClass("Element", KnownInstanceGuids.Classes.Element);
oms.AddAttribute(c_Element, a_Name);
c_ElementContent = oms.CreateClass("Element Content", KnownInstanceGuids.Classes.ElementContent);
oms.CreateRelationship(c_Element, "has", c_ElementContent, KnownRelationshipGuids.Element__has__Element_Content, false, "for", KnownRelationshipGuids.Element_Content__for__Element);
oms.CreateRelationship(c_ElementContent, "has", c_Instance, KnownRelationshipGuids.Element_Content__has__Instance, true, "has", KnownRelationshipGuids.Instance__for__Element_Content);
oms.CreateRelationship(c_ElementContent, "has", c_ElementContentDisplayOption, KnownRelationshipGuids.Element_Content__has__Element_Content_Display_Option, false, "for", KnownRelationshipGuids.Element_Content_Display_Option__for__Element_Content);
c_ExecutableReturningElement = oms.CreateClass("Executable returning Element", KnownInstanceGuids.Classes.ExecutableReturningElement);
c_BuildResponseMethodBinding = oms.CreateClass("Build Response Method Binding", KnownInstanceGuids.Classes.BuildResponseMethodBinding);
oms.AddSuperClass(c_BuildResponseMethodBinding, c_MethodBinding);
c_BuildUIResponseMethod = oms.CreateClass("BUIR - Build UI Response Method", KnownInstanceGuids.MethodClasses.BuildUIResponseMethod);
oms.CreateRelationship(c_BuildUIResponseMethod, "uses", c_ExecutableReturningElement, KnownRelationshipGuids.Build_UI_Response_Method__uses__Executable_returning_Element, true, "used by", KnownRelationshipGuids.Executable_returning_Element__used_by__Build_UI_Response_Method);
oms.AddSuperClass(c_BuildUIResponseMethod, c_Method);
c_ControlTransactionMethod = oms.CreateClass("CT - Control Transaction Method", KnownInstanceGuids.MethodClasses.ControlTransactionMethod);
oms.CreateRelationship(c_ControlTransactionMethod, "processes", c_Element, KnownRelationshipGuids.Control_Transaction_Method__processes__Element, true, "processed by", KnownRelationshipGuids.Element__processed_by__Control_Transaction_Method);
oms.CreateRelationship(c_ControlTransactionMethod, "uses", c_BuildResponseMethodBinding, KnownRelationshipGuids.Control_Transaction_Method__uses__Build_Response_Method_Binding, true, "used by", KnownRelationshipGuids.Build_Response_Method_Binding__used_by__Control_Transaction_Method);
oms.AddSuperClass(c_ControlTransactionMethod, c_Method);
InstanceHandle i_Method__get__Method_Abbreviation = oms.GetInstance(KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method__get__Method_Abbreviation);
OmsMethodBuilder mb = new OmsMethodBuilder(oms);
InstanceHandle Method_Binding__get__Method_Binding_Abbreviation = oms.GetInstance(KnownInstanceGuids.Methods.ConditionalSelectAttribute.Method_Binding__get__Method_Binding_Abbreviation);
InstanceHandle a_Value = oms.GetInstance(KnownAttributeGuids.Text.Value);
InstanceHandle Instance__get__Parent_Class_rsmb = oms.GetInstance(KnownInstanceGuids.Methods.GetRelationship.Instance__get__Parent_Class__for__Method_Binding__HACK);
BuildAttributeMethod Method__get__CT_Method_Suffix = mb.CreateBuildAttributeMethod(c_Method, "get", "CT Method Suffix", AccessModifier.Public, true, a_Value, "CT");
EvaluateBooleanExpressionMethod Method__is__CT = mb.CreateEvaluateBooleanExpressionMethod(c_Method, "is", "CT", AccessModifier.Public, false, oms.GetInstance(KnownAttributeGuids.Boolean.MethodIsOfTypeSpecified), Instance__get__Parent_Class_rsmb, RelationalOperator.InSelectionList, oms.GetInstance(KnownInstanceGuids.MethodClasses.ControlTransactionMethod));
ConditionalSelectAttributeCase i_CT_Case = new ConditionalSelectAttributeCase(new IExecutableReturningAttribute[] { Method__is__CT.CreateMethodBinding(oms) }, null, false, Method__get__CT_Method_Suffix.CreateMethodBinding(oms));
mb.AddConditionalSelectAttributeCase(new ConditionalSelectAttributeMethod(Method_Binding__get__Method_Binding_Abbreviation), i_CT_Case);
}
}

View File

@ -35,7 +35,6 @@ public class OmsMethodBuilder
c_ReturnAttributeMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnAttributeMethodBinding); c_ReturnAttributeMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnAttributeMethodBinding);
c_ReturnInstanceSetMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnInstanceSetMethodBinding); c_ReturnInstanceSetMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnInstanceSetMethodBinding);
c_ReturnElementMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnElementMethodBinding); c_ReturnElementMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.ReturnElementMethodBinding);
c_BuildResponseMethodBinding = oms.GetInstance(KnownInstanceGuids.Classes.BuildResponseMethodBinding);
} }
public ReturnAttributeMethodBinding CreateReturnAttributeMethodBinding(MethodReturningAttribute method) public ReturnAttributeMethodBinding CreateReturnAttributeMethodBinding(MethodReturningAttribute method)
@ -58,6 +57,11 @@ public class OmsMethodBuilder
} }
public BuildResponseMethodBinding CreateBuildResponseMethodBinding(MethodBuildingResponse method) public BuildResponseMethodBinding CreateBuildResponseMethodBinding(MethodBuildingResponse method)
{ {
if (c_BuildResponseMethodBinding == InstanceHandle.Empty)
{
c_BuildResponseMethodBinding = Oms.GetInstance(KnownInstanceGuids.Classes.BuildResponseMethodBinding);
}
InstanceHandle methodBinding = Oms.CreateInstanceOf(c_BuildResponseMethodBinding); InstanceHandle methodBinding = Oms.CreateInstanceOf(c_BuildResponseMethodBinding);
Oms.AssignRelationship(methodBinding, Oms.GetInstance(KnownRelationshipGuids.Method_Binding__executes__Method), method.Handle); Oms.AssignRelationship(methodBinding, Oms.GetInstance(KnownRelationshipGuids.Method_Binding__executes__Method), method.Handle);
return new BuildResponseMethodBinding(methodBinding); return new BuildResponseMethodBinding(methodBinding);
@ -322,4 +326,10 @@ public class OmsMethodBuilder
Oms.AssignRelationship(method, r_Control_Transaction_Method__uses__Build_Response_Method_Binding, usesBuildResponseMethodBinding.Handle); Oms.AssignRelationship(method, r_Control_Transaction_Method__uses__Build_Response_Method_Binding, usesBuildResponseMethodBinding.Handle);
return new ControlTransactionMethod(method); return new ControlTransactionMethod(method);
} }
public void AddConditionalSelectAttributeCase(ConditionalSelectAttributeMethod method, ConditionalSelectAttributeCase cas)
{
InstanceHandle ihCase = CreateConditionalSelectAttributeCase(cas);
Oms.AssignRelationship(method.Handle, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_Attribute_Method__has__Conditional_Select_Attribute_Case), ihCase);
}
} }