
org.ow2.bonita.services.Repository Maven / Gradle / Ivy
package org.ow2.bonita.services;
import java.util.Set;
import org.ow2.bonita.definition.GlobalClassData;
import org.ow2.bonita.definition.PackageClassData;
import org.ow2.bonita.definition.PackageDependency;
import org.ow2.bonita.definition.XpdlProcess;
import org.ow2.bonita.facade.uuid.ActivityInstanceUUID;
import org.ow2.bonita.facade.uuid.PackageDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessInstanceUUID;
import org.ow2.bonita.facade.uuid.TaskUUID;
import org.ow2.bonita.pvm.job.Timer;
import org.ow2.bonita.runtime.TaskRunTime;
import org.ow2.bonita.runtime.XpdlExecution;
import org.ow2.bonita.runtime.XpdlInstance;
/**
* @author Marc Blachon, Guillaume Porcher, Charles Souillard, Miguel Valdes, Pierre Vigneras
*/
public interface Repository {
/**
* The key used by the IoC engine for concrete implementation injection.
*/
String DEFAULT_KEY = "repository";
/**
* CLASS
*/
void storePackageClassData(PackageClassData packageClassData);
void removePackageClassData(PackageDefinitionUUID packageUUID);
//if found in package datas take it, else look into global datas
PackageClassData getPackageClassData(PackageDefinitionUUID packageId);
void storeGlobalClassData(GlobalClassData globalClassData);
void removeGlobalClassData(String className);
GlobalClassData getGlobalClassData(String className);
/**
* INSTANCE
*/
void storeXpdlInstance(XpdlInstance instance);
Set getXpdlInstances(ProcessDefinitionUUID processUUID);
XpdlInstance getXpdlInstance(ProcessInstanceUUID instanceUUID);
XpdlInstance removeXpdlInstance(ProcessInstanceUUID instanceUUID);
XpdlExecution getExecutionOnActivity(ProcessInstanceUUID instanceUUID,
ActivityInstanceUUID activityInstanceUUID);
void storePackageVersion(String packageId, String packageVersion);
void removePackageVersion(String packageId, String packageVersion);
/**
* PROCESS
*/
void storeXpdlProcess(XpdlProcess xpdlProcess);
XpdlProcess getXpdlProcess(ProcessDefinitionUUID processUUID);
XpdlProcess removeXpdlProcess(ProcessDefinitionUUID processUUID);
String getLastPackageVersion(String packageId);
String getLastProcessVersion(String processId, String packageId);
void storeProcessVersion(String processId, String processVersion, String packageId);
void removeProcessVersion(String processId, String processVersion, String packageId);
/**
* TASK
*/
/** return all tasks associated to the given instance */
Set getInstanceTasks(ProcessInstanceUUID instanceUUID);
TaskRunTime getTask(TaskUUID taskUUID);
TaskRunTime getTask(XpdlExecution execution);
void addTask(TaskRunTime task);
void removeTask(TaskRunTime task);
/*
* CLASS DEPENDENCIES
*/
void addPackageDependencies(PackageDefinitionUUID packageUUID, Set classNames);
void removePackageDependencies(PackageDefinitionUUID packageUUID);
PackageDependency getPackageDependency(PackageDefinitionUUID packageUUID);
/** returns a set of packageDefinitionUUID of all packages depending on the given className. */
Set getPackageDependencies(String className);
/*
* TIMERS
*/
/** return all timers associated to the given instance */
Set getInstanceTimers(ProcessInstanceUUID instanceUUID);
void removeTimer(Timer timer);
XpdlProcess findLatestProcessById(String subProcessId);
long getNextActivityInstanceNb(ProcessInstanceUUID instanceUUID,
String activityName);
long getNextProcessInstanceNb(ProcessDefinitionUUID processUUID);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy