protected Object process(AtomicEvent event, OutputAttributeAggregator outputAttributeAggregator) { if (size > 1) { Object[] data = new Object[expressionExecutors.size()]; for (int i = 0, size = data.length; i < size; i++) { data[i] = expressionExecutors.get(i).execute(event); } if (event instanceof RemoveStream) { return outputAttributeAggregator.processRemove(data); } else { return outputAttributeAggregator.processAdd(data); } } else { if (event instanceof RemoveStream) { return outputAttributeAggregator.processRemove(expressionExecutors.get(0).execute(event)); } else { return outputAttributeAggregator.processAdd(expressionExecutors.get(0).execute(event)); } } }
@Override public Attribute.Type getOutputType() { return sampleOutputAttributeAggregator.getReturnType(); }