public Object EvaluateInternal(long ts, EventBean[] eventsPerStream, bool newData, ExprEvaluatorContext exprEvaluatorContext) { Object firstObj = _startEval.Evaluate(new EvaluateParams(eventsPerStream, newData, exprEvaluatorContext)); if (firstObj == null) { return(null); } Object secondObj = _endEval.Evaluate(new EvaluateParams(eventsPerStream, newData, exprEvaluatorContext)); if (secondObj == null) { return(null); } long first = _startCoercer.Coerce(firstObj); long second = _secondCoercer.Coerce(secondObj); if (_includeBoth.GetValueOrDefault()) { if (first <= second) { return(first <= ts && ts <= second); } else { return(second <= ts && ts <= first); } } else { bool includeLowEndpoint; if (_includeLow != null) { includeLowEndpoint = _includeLow.GetValueOrDefault(); } else { Object value = _evalIncludeLow.Evaluate(new EvaluateParams(eventsPerStream, newData, exprEvaluatorContext)); if (value == null) { return(null); } includeLowEndpoint = value.AsBoolean(); } bool includeHighEndpoint; if (_includeHigh != null) { includeHighEndpoint = _includeHigh.GetValueOrDefault(); } else { Object value = _evalIncludeHigh.Evaluate(new EvaluateParams(eventsPerStream, newData, exprEvaluatorContext)); if (value == null) { return(null); } includeHighEndpoint = value.AsBoolean(); } if (includeLowEndpoint) { if (ts < first) { return(false); } } else { if (ts <= first) { return(false); } } if (includeHighEndpoint) { if (ts > second) { return(false); } } else { if (ts >= second) { return(false); } } return(true); } }
public Object EvaluateInternal( long ts, EventBean[] eventsPerStream, bool newData, ExprEvaluatorContext exprEvaluatorContext) { var evaluateParams = new EvaluateParams(eventsPerStream, newData, exprEvaluatorContext); var firstObj = _startEval.Evaluate(evaluateParams); if (firstObj == null) { return(null); } var secondObj = _endEval.Evaluate(evaluateParams); if (secondObj == null) { return(null); } var first = _startCoercer.Coerce(firstObj); var second = _secondCoercer.Coerce(secondObj); if (_includeBoth) { if (first <= second) { return(first <= ts && ts <= second); } else { return(second <= ts && ts <= first); } } else { bool includeLowEndpoint; if (_includeLow != null) { includeLowEndpoint = _includeLow.Value; } else { var value = _evalIncludeLow.Evaluate(evaluateParams); if (value == null) { return(null); } includeLowEndpoint = (bool)value; } bool includeHighEndpoint; if (_includeHigh != null) { includeHighEndpoint = _includeHigh.Value; } else { var value = _evalIncludeHigh.Evaluate(evaluateParams); if (value == null) { return(null); } includeHighEndpoint = (bool)value; } if (includeLowEndpoint) { if (ts < first) { return(false); } } else { if (ts <= first) { return(false); } } if (includeHighEndpoint) { if (ts > second) { return(false); } } else { if (ts >= second) { return(false); } } return(true); } }