public EventBean GetSubstituteEvent( EventBean originalEvent, bool isNewData, int constantIndexNumber, int relativeIndex, ExprEvaluatorContext exprEvaluatorContext, int streamNum) { return relativeAccess.GetRelativeToEvent(originalEvent, relativeIndex); }
private EventBean GetSubstitute( EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext) { // Use constant if supplied int? index; if (isConstantIndex) { index = constantIndexNumber; } else { // evaluate first child, which returns the index object indexResult = indexNode.Evaluate(eventsPerStream, true, exprEvaluatorContext); if (indexResult == null) { return null; } index = (indexResult).AsInt32(); } // access based on index returned EventBean substituteEvent; if (randomAccessGetter != null) { RandomAccessByIndex randomAccess = randomAccessGetter.Accessor; if (!isTail) { substituteEvent = randomAccess.GetNewData(index.Value); } else { substituteEvent = randomAccess.GetNewDataTail(index.Value); } } else { EventBean evalEvent = eventsPerStream[streamNumber]; RelativeAccessByEventNIndex relativeAccess = relativeAccessGetter.GetAccessor(evalEvent); if (relativeAccess == null) { return null; } if (!isTail) { substituteEvent = relativeAccess.GetRelativeToEvent(evalEvent, index.Value); } else { substituteEvent = relativeAccess.GetRelativeToEnd(index.Value); } } return substituteEvent; }
public override EventBean GetSubstituteEvent(EventBean originalEvent, bool isNewData, int constantIndexNumber) { return(_relativeAccess.GetRelativeToEvent(originalEvent, constantIndexNumber)); }
public EventBean GetRelativeToEvent(EventBean theEvent, int prevIndex) { return(_buffer.GetRelativeToEvent(theEvent, _relativeIndex)); }