/* *************************************************************************************** * Copyright (C) 2006 EsperTech, Inc. All rights reserved. * * http://www.espertech.com/esper * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * *************************************************************************************** */ package com.espertech.esper.client.dataflow; import com.espertech.esper.client.EPServiceProvider; import com.espertech.esper.client.EPStatement; import com.espertech.esper.client.EventBean; import com.espertech.esper.dataflow.interfaces.EPDataFlowEmitter; /** * Context for use with {@link EPDataFlowIRStreamCollector}. * <p> * Do not retain a handle of this object as its contents are subject to change. * </p> */ public class EPDataFlowIRStreamCollectorContext { private final EPDataFlowEmitter emitter; private final boolean submitEventBean; private EventBean[] newEvents; private EventBean[] oldEvents; private EPStatement statement; private EPServiceProvider epServiceProvider; /** * Ctor. * * @param emitter data flow emitter * @param submitEventBean indicator whether the EventBean or the underlying event object must be submmitted * @param newEvents insert stream events * @param oldEvents remove stream events * @param statement statement posting events * @param epServiceProvider engine instances */ public EPDataFlowIRStreamCollectorContext(EPDataFlowEmitter emitter, boolean submitEventBean, EventBean[] newEvents, EventBean[] oldEvents, EPStatement statement, EPServiceProvider epServiceProvider) { this.emitter = emitter; this.submitEventBean = submitEventBean; this.newEvents = newEvents; this.oldEvents = oldEvents; this.statement = statement; this.epServiceProvider = epServiceProvider; } /** * Returns the emitter. * * @return emitter */ public EPDataFlowEmitter getEmitter() { return emitter; } /** * Returns insert stream. * * @return events */ public EventBean[] getNewEvents() { return newEvents; } /** * Returns remove stream. * * @return events */ public EventBean[] getOldEvents() { return oldEvents; } /** * Returns the statement. * * @return statement */ public EPStatement getStatement() { return statement; } /** * Returns the engine instance. * * @return engine instance */ public EPServiceProvider getEpServiceProvider() { return epServiceProvider; } /** * Sets insert stream events * * @param newEvents to set */ public void setNewEvents(EventBean[] newEvents) { this.newEvents = newEvents; } /** * Sets remove stream events * * @param oldEvents to set */ public void setOldEvents(EventBean[] oldEvents) { this.oldEvents = oldEvents; } /** * Sets statement. * * @param statement to set */ public void setStatement(EPStatement statement) { this.statement = statement; } /** * Sets engine instance. * * @param epServiceProvider to set */ public void setEpServiceProvider(EPServiceProvider epServiceProvider) { this.epServiceProvider = epServiceProvider; } /** * Returns indicator whether to submit wrapped events (EventBean) or underlying events * * @return wrapped event indicator */ public boolean isSubmitEventBean() { return submitEventBean; } }