refactor MethodImplementations as subclass of ClassImplementation
This commit is contained in:
parent
6e99d815eb
commit
9eebbef630
@ -17,10 +17,8 @@
|
||||
|
||||
namespace Mocha.Core;
|
||||
|
||||
public abstract class MethodImplementation
|
||||
public abstract class MethodImplementation : ClassImplementation
|
||||
{
|
||||
public abstract Guid MethodClassGuid { get; }
|
||||
|
||||
protected abstract InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method);
|
||||
public InstanceHandle Execute(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class AssignAttributeMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.AssignAttributeMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.AssignAttributeMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class BuildAttributeMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.BuildAttributeMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.BuildAttributeMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -6,7 +6,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
public class BuildElementMethodImplementation : MethodImplementation
|
||||
{
|
||||
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.BuildElementMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.BuildElementMethod;
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
|
||||
@ -21,7 +21,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class BuildUIResponseMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.BuildUIResponseMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.BuildUIResponseMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -23,7 +23,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class CalculateNumericMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.CalculateNumericMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.CalculateNumericMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -20,7 +20,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class ConditionalSelectAttributeMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.ConditionalSelectAttributeMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.ConditionalSelectAttributeMethod;
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
|
||||
@ -20,7 +20,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class ConditionalSelectFromInstanceSetMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.ConditionalSelectFromInstanceSetMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.ConditionalSelectFromInstanceSetMethod;
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
|
||||
@ -23,7 +23,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class EvaluateBooleanExpressionMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.EvaluateBooleanExpressionMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.EvaluateBooleanExpressionMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle c_Class = oms.GetInstance(KnownInstanceGuids.Classes.Class);
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetAttributeBySystemRoutineMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetAttributeBySystemRoutineMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetAttributeBySystemRoutineMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetAttributeMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetAttributeMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetAttributeMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetInstanceSetBySystemRoutineMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetInstanceSetBySystemRoutineMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetInstanceSetBySystemRoutineMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -20,7 +20,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetInstancesMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => new Guid("{0a379314-9d0f-432d-ae59-63194ab32dd3}");
|
||||
public override Guid ClassGuid => new Guid("{0a379314-9d0f-432d-ae59-63194ab32dd3}");
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetReferencedAttributeMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetReferencedAttributeMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetReferencedAttributeMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
Guid methodId = oms.GetGlobalIdentifier(method);
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetReferencedInstanceSetMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetReferencedInstanceSetMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetReferencedInstanceSetMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
Guid methodId = oms.GetGlobalIdentifier(method);
|
||||
|
||||
@ -21,7 +21,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetRelationshipMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetRelationshipMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetRelationshipMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
Guid methodId = oms.GetGlobalIdentifier(method);
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class GetSpecifiedInstancesMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.GetSpecifiedInstancesMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.GetSpecifiedInstancesMethod;
|
||||
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class InstanceOpMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.InstanceOpMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.InstanceOpMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle op = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Op_Scope__invokes__Instance_Op));
|
||||
|
||||
@ -21,7 +21,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class InvokeWebServiceMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.InvokeWebServiceMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.InvokeWebServiceMethod;
|
||||
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class ProcessRelatedUpdatesMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.ProcessRelatedUpdatesMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.ProcessRelatedUpdatesMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle forClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class ProcessUpdatesMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.ProcessUpdatesMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.ProcessUpdatesMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle forClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -30,7 +30,7 @@ public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
||||
public T Data;
|
||||
}
|
||||
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
//! FIXME !
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class UpdateBySystemRoutineMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.UpdateBySystemRoutineMethod;
|
||||
public override Guid ClassGuid => KnownInstanceGuids.MethodClasses.UpdateBySystemRoutineMethod;
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||
|
||||
@ -55,7 +55,7 @@ public abstract class Oms
|
||||
MethodImplementation[] methodImplementations = MBS.Core.Reflection.TypeLoader.GetAvailableTypes<MethodImplementation>(new System.Reflection.Assembly[] { Assembly.GetExecutingAssembly() });
|
||||
foreach (MethodImplementation impl in methodImplementations)
|
||||
{
|
||||
RegisterMethodImplementation(impl.MethodClassGuid, impl);
|
||||
RegisterMethodImplementation(impl.ClassGuid, impl);
|
||||
}
|
||||
|
||||
AttributeImplementation[] attributeImplementations = MBS.Core.Reflection.TypeLoader.GetAvailableTypes<AttributeImplementation>(new System.Reflection.Assembly[] { Assembly.GetExecutingAssembly() });
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user