/// <summary> /// Constructs an empty rule builder. /// </summary> public RuleBuilder() { var rootScope = new SymbolTable(); _dependencyBuilder = new DependencyGroupBuilder(rootScope); _groupBuilder = new GroupBuilder(rootScope, GroupType.And); _actionGroupBuilder = new ActionGroupBuilder(rootScope); }
/// <summary> /// Sets dependencies builder. /// </summary> /// <param name="builder">Builder to set.</param> public void Dependencies(DependencyGroupBuilder builder) { if (_dependencyGroupBuilder != null) { throw new ArgumentException("Builder for dependencies is already set", nameof(builder)); } _dependencyGroupBuilder = builder; }
/// <summary> /// Constructs an empty rule builder. /// </summary> public RuleBuilder() { var rootScope = new SymbolTable(); _dependencyGrouipBuilder = new DependencyGroupBuilder(rootScope); _filterGroupBuilder = new FilterGroupBuilder(rootScope); _conditionGroupBuilder = new GroupBuilder(rootScope, GroupType.And); _actionGroupBuilder = new ActionGroupBuilder(rootScope); }
/// <summary> /// Retrieves dependencies builder. /// </summary> /// <returns>Dependencies builder.</returns> public DependencyGroupBuilder Dependencies() { if (_dependencyGroupBuilder == null) { _dependencyGroupBuilder = new DependencyGroupBuilder(); } return(_dependencyGroupBuilder); }