Package org.drools.core.command.impl

Source Code of org.drools.core.command.impl.FireAllRulesInterceptor

package org.drools.core.command.impl;

import org.drools.core.command.runtime.process.AbortWorkItemCommand;
import org.drools.core.command.runtime.process.CompleteWorkItemCommand;
import org.drools.core.command.runtime.process.SignalEventCommand;
import org.drools.core.command.runtime.process.StartProcessCommand;
import org.drools.core.command.runtime.process.StartProcessInstanceCommand;
import org.drools.core.command.runtime.rule.FireAllRulesCommand;
import org.kie.api.command.Command;

public class FireAllRulesInterceptor extends AbstractInterceptor {

  public <T> T execute(Command<T> command) {
    T result = executeNext(command);
    if (requiresFireAllRules(command)) {
      executeNext(new FireAllRulesCommand());
    }
    return result;
  }
 
  protected <T> boolean requiresFireAllRules(Command<T> command) {
    return command instanceof AbortWorkItemCommand
      || command instanceof CompleteWorkItemCommand
      || command instanceof SignalEventCommand
      || command instanceof StartProcessCommand
      || command instanceof StartProcessInstanceCommand;
  }
 
}
TOP

Related Classes of org.drools.core.command.impl.FireAllRulesInterceptor

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.