31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT License.
|
|
|
|
using RulesEngine.ExpressionBuilders;
|
|
using RulesEngine.Models;
|
|
using System;
|
|
|
|
namespace RulesEngine
|
|
{
|
|
internal class RuleExpressionBuilderFactory
|
|
{
|
|
private readonly ReSettings _reSettings;
|
|
private readonly LambdaExpressionBuilder _lambdaExpressionBuilder;
|
|
public RuleExpressionBuilderFactory(ReSettings reSettings, RuleExpressionParser expressionParser)
|
|
{
|
|
_reSettings = reSettings;
|
|
_lambdaExpressionBuilder = new LambdaExpressionBuilder(_reSettings, expressionParser);
|
|
}
|
|
public RuleExpressionBuilderBase RuleGetExpressionBuilder(RuleExpressionType ruleExpressionType)
|
|
{
|
|
switch (ruleExpressionType)
|
|
{
|
|
case RuleExpressionType.LambdaExpression:
|
|
return _lambdaExpressionBuilder;
|
|
default:
|
|
throw new InvalidOperationException($"{nameof(ruleExpressionType)} has not been supported yet.");
|
|
}
|
|
}
|
|
}
|
|
}
|