Package org.drools.process.command

Source Code of org.drools.process.command.SignalEventCommand

package org.drools.process.command;

import org.drools.process.instance.ProcessInstance;
import org.drools.reteoo.ReteooWorkingMemory;

public class SignalEventCommand implements Command<Object> {
 
  private long processInstanceId;
  private String eventType;
  private Object event;
 
  public long getProcessInstanceId() {
    return processInstanceId;
  }

  public void setProcessInstanceId(long processInstanceId) {
    this.processInstanceId = processInstanceId;
  }

  public String getEventType() {
    return eventType;
  }

  public void setEventType(String eventType) {
    this.eventType = eventType;
  }

  public Object getEvent() {
    return event;
  }

  public void setEvent(Object event) {
    this.event = event;
  }

  public Object execute(ReteooWorkingMemory session) {
    if (processInstanceId == -1) {
      session.getSignalManager().signalEvent(eventType, event);
    } else {
      ProcessInstance processInstance = session.getProcessInstance(processInstanceId);
      if (processInstance != null) {
        processInstance.signalEvent(eventType, event);
      }
    }
    return null;
  }

  public String toString() {
    if (processInstanceId == -1) {
      return "session.getSignalManager().signalEvent(" + eventType + ", " + event + ");";
    } else {
      return "processInstance.signalEvent(" + eventType + ", " + event + ");";
    }
  }

}
TOP

Related Classes of org.drools.process.command.SignalEventCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.