public AggregationForgeFactoryAccessPlugin(
     ExprPlugInMultiFunctionAggNode parent,
     AggregationMultiFunctionHandler handler)
 {
     this.parent = parent;
     this.handler = handler;
 }
Example #2
0
        public override AggregationForgeFactory ValidateAggregationChild(ExprValidationContext validationContext)
        {
            ValidatePositionals(validationContext);
            // validate using the context provided by the 'outside' streams to determine parameters
            // at this time 'inside' expressions like 'window(intPrimitive)' are not handled
            ExprNodeUtilityValidate.GetValidatedSubtree(ExprNodeOrigin.AGGPARAM, this.ChildNodes, validationContext);
            AggregationMultiFunctionValidationContext ctx = new AggregationMultiFunctionValidationContext(
                _functionName,
                validationContext.StreamTypeService.EventTypes,
                positionalParams,
                validationContext.StatementName,
                validationContext,
                _config,
                ChildNodes,
                optionalFilter);
            AggregationMultiFunctionHandler handlerPlugin = _aggregationMultiFunctionForge.ValidateGetHandler(ctx);

            _factory = new AggregationForgeFactoryAccessPlugin(this, handlerPlugin);
            return(_factory);
        }