Esempio n. 1
0
        public object Evaluate(
            EventBean[] eventsPerStream,
            bool isNewData,
            ExprEvaluatorContext context)
        {
            EventBean @event = eventsPerStream[forge.StreamNum];
            if (@event == null) {
                return null;
            }

            object index = exprEvaluator.Evaluate(eventsPerStream, isNewData, context);
            if (index == null || !index.IsInt()) {
                Log.Warn(forge.GetWarningText("integer", index));
                return null;
            }

            return forge.IndexedGetter.Get(@event, index.AsInt32());
        }
        public object Evaluate(
            EventBean[] eventsPerStream,
            bool isNewData,
            ExprEvaluatorContext context)
        {
            var @event = eventsPerStream[forge.StreamNum];
            if (@event == null) {
                return null;
            }

            var result = exprEvaluator.Evaluate(eventsPerStream, isNewData, context);
            if (result != null && !(result is string)) {
                Log.Warn(forge.GetWarningText("string", result));
                return null;
            }

            return forge.MappedGetter.Get(@event, (string) result);
        }