public AggregationForgeFactoryAccessPlugin( ExprPlugInMultiFunctionAggNode parent, AggregationMultiFunctionHandler handler) { this.parent = parent; this.handler = handler; }
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); }