Package org.drools.command.impl

Source Code of org.drools.command.impl.CommandFactoryServiceImpl

/**
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.drools.command.impl;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.drools.command.BatchExecutionCommand;
import org.drools.command.Command;
import org.drools.command.CommandFactoryService;
import org.drools.command.Setter;
import org.drools.command.runtime.BatchExecutionCommandImpl;
import org.drools.command.runtime.GetGlobalCommand;
import org.drools.command.runtime.SetGlobalCommand;
import org.drools.command.runtime.process.AbortWorkItemCommand;
import org.drools.command.runtime.process.CompleteWorkItemCommand;
import org.drools.command.runtime.process.SignalEventCommand;
import org.drools.command.runtime.process.StartProcessCommand;
import org.drools.command.runtime.rule.FireAllRulesCommand;
import org.drools.command.runtime.rule.GetObjectCommand;
import org.drools.command.runtime.rule.GetObjectsCommand;
import org.drools.command.runtime.rule.InsertElementsCommand;
import org.drools.command.runtime.rule.InsertObjectCommand;
import org.drools.command.runtime.rule.ModifyCommand;
import org.drools.command.runtime.rule.QueryCommand;
import org.drools.command.runtime.rule.RetractCommand;
import org.drools.command.runtime.rule.ModifyCommand.SetterImpl;
import org.drools.runtime.ObjectFilter;
import org.drools.runtime.rule.FactHandle;

public class CommandFactoryServiceImpl implements CommandFactoryService {

  public Command newGetGlobal(String identifier) {
    return new GetGlobalCommand(identifier);
  }

  public Command newGetGlobal(String identifier, String outIdentifier) {
    GetGlobalCommand cmd = new GetGlobalCommand(identifier);
    cmd.setOutIdentifier(outIdentifier);
    return cmd;
  }

  public Command newInsertElements(Collection objects) {
      return new InsertElementsCommand(objects);
  }
 
    public Command newInsertElements(Collection objects, String outIdentifier, boolean returnObject, String entryPoint) {
        InsertElementsCommand cmd = new InsertElementsCommand(objects);
        cmd.setEntryPoint( entryPoint );
        cmd.setOutIdentifier( outIdentifier );
        cmd.setReturnObject( returnObject );
        return cmd;
   

  public Command newInsert(Object object) {
    return new InsertObjectCommand(object);
  }

  public Command newInsert(Object object, String outIdentifier, boolean returnObject, String entryPoint) {
    InsertObjectCommand cmd = new InsertObjectCommand(object);
    cmd.setOutIdentifier(outIdentifier);
    cmd.setEntryPoint( entryPoint );
    cmd.setReturnObject( returnObject );
    return cmd;
  }
 
    public Command newRetract(FactHandle factHandle) {
        return new RetractCommand( factHandle );
    }
   
    public Setter newSetter(String accessor,
                             String value) {
        return new SetterImpl(accessor, value);
    }   
   
    public Command newModify(FactHandle factHandle,
                             List<Setter> setters) {
        return new ModifyCommand(factHandle, setters);
    }   
 
    public Command newGetObject(FactHandle factHandle) {
        return new GetObjectCommand(factHandle);
   

  public Command newGetObjects() {
    return newGetObjects(null);
  }

  public Command newGetObjects(ObjectFilter filter) {
    return new GetObjectsCommand(filter);
  }

  public Command newSetGlobal(String identifier, Object object) {
    return new SetGlobalCommand(identifier, object);
  }

  public Command newSetGlobal(String identifier, Object object, boolean out) {
    SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
    cmd.setOut(out);
    return cmd;
  }

  public Command newSetGlobal(String identifier, Object object,
      String outIdentifier) {
    SetGlobalCommand cmd = new SetGlobalCommand(identifier, object);
    cmd.setOutIdentifier(outIdentifier);
    return cmd;
  }
 
  public Command newFireAllRules() {
      return new FireAllRulesCommand();
  }
 
  public Command newFireAllRules(int max) {
      return new FireAllRulesCommand(max);
  }

        public Command newFireAllRules(String outidentifier) {
      return new FireAllRulesCommand(outidentifier);
  }

  public Command newStartProcess(String processId) {
    StartProcessCommand startProcess = new StartProcessCommand();
    startProcess.setProcessId(processId);
    return startProcess;
  }

  public Command newStartProcess(String processId,
      Map<String, Object> parameters) {
    StartProcessCommand startProcess = new StartProcessCommand();
    startProcess.setProcessId(processId);
    startProcess.setParameters((HashMap<String, Object>) parameters);
    return startProcess;
  }

    public Command newSignalEvent(String type,
                               Object event) {
        return new SignalEventCommand( type, event );
    }
   
    public Command newSignalEvent(long processInstanceId,
                               String type,
                               Object event) {
        return new SignalEventCommand( processInstanceId, type, event );
    }   
   
    public Command newCompleteWorkItem(long workItemId,
                                       Map<String, Object> results) {
        return new CompleteWorkItemCommand(workItemId, results);
    }   
   
    public Command newAbortWorkItem(long workItemId) {
        return new AbortWorkItemCommand( workItemId);
    }   
 
  public Command newQuery(String identifier, String name) {
    return new QueryCommand(identifier, name, null);
  }

  public Command newQuery(String identifier, String name, Object[] arguments) {
    return new QueryCommand(identifier, name, arguments);
  }

  public BatchExecutionCommand newBatchExecution(List<? extends Command> commands, String lookup) {
    return new BatchExecutionCommandImpl((List<GenericCommand<?>>) commands, lookup);
  }
}
TOP

Related Classes of org.drools.command.impl.CommandFactoryServiceImpl

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.