Esempio n. 1
0
        public static NodeQueryDefinition UrlRegexQuery(String query, NodeQueryPredicateOperand operand)
        {
            NodeQueryDefinition output = new NodeQueryDefinition()
            {
                queryType     = NodeQueryType.urlRegex,
                query         = query,
                operand       = operand,
                resultOperand = NodeQueryResultOperand.IGNORE
            };

            return(output);
        }
        public String Merge(NodeQueryResult result, NodeQueryResultOperand nodes_operand, NodeQueryPredicateOperand evaluation_operand)
        {
            String mergeReport = this.ToString() + " " + evaluation_operand.ToString() + "(" + nodes_operand.ToString() + ")";

            mergeReport = mergeReport.add(result.ToString(), " ");

            ResultNodes = ResultNodes.GetOperationResult(result.ResultNodes, nodes_operand);

            switch (evaluation_operand)
            {
            case NodeQueryPredicateOperand.AND:
                ResultEvaluation = ResultEvaluation && result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.NOT:
                ResultEvaluation = ResultEvaluation && !result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.OR:
                ResultEvaluation = ResultEvaluation || result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.SET:
                ResultEvaluation = result.ResultEvaluation;
                break;

            case NodeQueryPredicateOperand.IGNORE:
                break;

            case NodeQueryPredicateOperand.REEVAL:
                ResultEvaluation = ResultNodes.Any();

                break;
            }

            mergeReport = mergeReport.add(" => " + this.ToString(), " ");

            return(mergeReport);
        }