예제 #1
0
        /// <summary>
        /// CTOR
        /// </summary>
        /// <param name="variables"><see cref="VariableCatalog"/> managing the definition builder variables</param>
        /// <param name="decisions"><see cref="DecisionCatalog"/> managing the definition builder decisions</param>
        /// <param name="allTableInputs">All inputs defined for table (by reference)</param>
        /// <param name="allTableOutputs">All outputs defined for table (by reference)</param>
        /// <param name="index">Index of the rule (order)</param>
        /// <param name="name">Table unique rule name</param>
        /// <param name="description">Optional rule description</param>
        internal TableRule(
            VariableCatalog variables, DecisionCatalog decisions,
            IReadOnlyDictionary <TableInput.Ref, TableInput> allTableInputs, IReadOnlyDictionary <TableOutput.Ref, TableOutput> allTableOutputs,
            int index, string name, string description = null)
            : base(variables, decisions)
        {
            Index       = index;
            Name        = name;
            Description = description;

            AllTableInputs  = allTableInputs ?? throw new ArgumentNullException(nameof(allTableInputs));
            AllTableOutputs = allTableOutputs ?? throw new ArgumentNullException(nameof(allTableOutputs));
        }
예제 #2
0
        /// <summary>
        /// CTOR
        /// </summary>
        /// <param name="variables"><see cref="VariableCatalog"/> managing the definition builder variables</param>
        /// <param name="decisions"><see cref="DecisionCatalog"/> managing the definition builder decisions</param>
        /// <param name="name">Name of the variable</param>
        /// <param name="type">Optional Type of the variable if known</param>
        internal Variable(VariableCatalog variables, DecisionCatalog decisions, string name, Type type = null)
            : base(variables, decisions)
        {
            name = DmnVariableDefinition.NormalizeVariableName(name ?? throw new ArgumentNullException(nameof(name)));
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("Name not provided", nameof(name));
            }

            Reference = RefCtor(this);
            Name      = name;
            Type      = type;
        }
예제 #3
0
        /// <summary>
        /// CTOR
        /// </summary>
        /// <param name="variables"><see cref="VariableCatalog"/> managing the definition builder variables</param>
        /// <param name="decisions"><see cref="DecisionCatalog"/> managing the definition builder decisions</param>
        /// <param name="name">Unique name of the decision</param>
        protected Decision(VariableCatalog variables, DecisionCatalog decisions, string name) : base(variables,
                                                                                                     decisions)
        {
            if (name is null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("Missing name", nameof(name));
            }

            Name      = name;
            Reference = RefCtor(this);
        }
예제 #4
0
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="variables"><see cref="VariableCatalog"/> managing the definition builder variables</param>
 /// <param name="decisions"><see cref="DecisionCatalog"/> managing the definition builder decisions</param>
 /// <param name="index">Index of the input (order)</param>
 internal TableInput(VariableCatalog variables, DecisionCatalog decisions, int index)
     : base(variables, decisions)
 {
     Index     = index;
     Reference = RefCtor(this);
 }
예제 #5
0
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="variables"><see cref="VariableCatalog"/> managing the definition builder variables</param>
 /// <param name="decisions"><see cref="DecisionCatalog"/> managing the definition builder decisions</param>
 /// <param name="name">Unique name of the decision</param>
 internal ExpressionDecision(VariableCatalog variables, DecisionCatalog decisions, string name)
     : base(variables, decisions, name)
 {
 }
 /// <summary>
 /// CTOR
 /// </summary>
 /// <param name="variables">Variable catalog of of <see cref="DmnDefinitionBuilder"/></param>
 /// <param name="decisions">Decisions catalog of of <see cref="DmnDefinitionBuilder"/></param>
 protected DmnBuilderElement(VariableCatalog variables, DecisionCatalog decisions)
 {
     Logger    = CommonLogging.CreateLogger(GetType());
     Variables = variables ?? throw new ArgumentNullException(nameof(variables));
     Decisions = decisions ?? throw new ArgumentNullException(nameof(decisions));
 }