public ExpressionEvaluator(string individual) : base(BindingTypes.Control)
 {
     expression    = individual;
     variableNames = new ArrayList();
     variableNames.Add(String.Empty);                 // an individual has no name
     evaluator = null;
 }
 public ExpressionRelater(string atomRelation, IPredicate[] variables) : base(BindingTypes.Control)
 {
     expression    = atomRelation;
     variableNames = new ArrayList();
     foreach (IPredicate variable in variables)
     {
         variableNames.Add(variable.Value);
     }
     evaluator = null;
 }
            public override bool Relate(string function, object[] predicates)
            {
                if (evaluator == null)
                {
                    evaluator = Compilation.NewEvaluator(expression,
                                                         Formula.DEFAULT_EXPRESSION_PLACEHOLDER,
                                                         variableNames,
                                                         predicates);
                }

                return(Convert.ToBoolean(evaluator.Run(predicates)));;
            }
            public override bool Evaluate(object predicate, string function, string[] arguments)
            {
                if (evaluator == null)
                {
                    evaluator = Compilation.NewEvaluator(expression,
                                                         Formula.DEFAULT_EXPRESSION_PLACEHOLDER,
                                                         variableNames,
                                                         new object[] { predicate });
                }

                return(Convert.ToBoolean(evaluator.Run(new object[] { predicate })));
            }
            public override bool Relate(string function, object[] predicates)
            {
                if (evaluator == null) evaluator = Compilation.NewEvaluator(expression,
                                                                                          Formula.DEFAULT_EXPRESSION_PLACEHOLDER,
                                                                                          variableNames,
                                                                                          predicates);

                return Convert.ToBoolean(evaluator.Run(predicates));;
            }
 public ExpressionRelater(string atomRelation, IPredicate[] variables)
     : base(BindingTypes.Control)
 {
     expression = atomRelation;
     variableNames = new ArrayList();
     foreach(IPredicate variable in variables) variableNames.Add(variable.Value);
     evaluator = null;
 }
            public override bool Evaluate(object predicate, string function, string[] arguments)
            {
                if (evaluator == null) evaluator = Compilation.NewEvaluator(expression,
                                                                                          Formula.DEFAULT_EXPRESSION_PLACEHOLDER,
                                                                                          variableNames,
                                                                                          new object[]{predicate});

                return Convert.ToBoolean(evaluator.Run(new object[]{predicate}));
            }
 public ExpressionEvaluator(string individual)
     : base(BindingTypes.Control)
 {
     expression = individual;
     variableNames = new ArrayList();
     variableNames.Add(String.Empty); // an individual has no name
     evaluator = null;
 }