com.opensymphony.workflow.basic
這個(gè)包里只包括兩個(gè)類(lèi):
BasicWorkflow:繼承自AbstractWorkflow。
作用說(shuō)明:提供一種最最基本的workflow實(shí)現方式。不支持事務(wù)回滾機制。
方法:繼承自abstractworkflow的方法有:
canInitialize, canInitialize, canModifyEntryState, changeEntryState, checkImplicitFinish, completeEntry, doAction, executeTriggerFunction, getAvailableActions, getAvailableActions, getAvailableActionsForStep, getAvailableAutoActions, getAvailableAutoActionsForStep, getConfiguration, getCurrentSteps, getEntryState, getHistorySteps, getPersistence, getPersistenceProperties, getPropertySet, getSecurityPermissions, getWorkflowDescriptor, getWorkflowName, getWorkflowNames, initialize, loadObject, passesCondition, passesConditions, populateTransientMap, query, query, removeWorkflowDescriptor, saveWorkflowDescriptor, setConfiguration, verifyInputs
BasicWorkflowContext:實(shí)現WorkflowContext接口,子類(lèi):OfbizWorkflowContext
作用說(shuō)明:
構造函數:參數為caller
方法解釋?zhuān)?/span>
getCaller():獲取caller
setRollbackOnly():將當前transaction事務(wù)回滾。
com.opensymphony.workflow.config
這個(gè)包里的東西很關(guān)鍵,包括主要的配置類(lèi)。
接口:Configuration:
Configuration object that is responsible for all ‘static‘ workflow information. This includes loading of workflow configurations, setting up the workflow descriptor factory, as well as proxying calls to the underlying descriptor factory. Date: Mar 22, 2004 Time: 3:42:19 PM
作用說(shuō)明:加載工作流配置定義,建立workflow descriptor factory。
方法解釋?zhuān)阂恍┲灰疵?,懂英語(yǔ)就可以理解了。
1、 getPersistence():返回持久存儲的類(lèi)名
2、 getPersistenceArgs() 為持久存儲獲得參數
3、 getWorkflow(java.lang.String name)獲取指定的workflow descriptor。
4、 getWorkflowNames()獲取所有有效的workflow descriptor的名字。
5、 getWorkflowStore()返回workflowstore,先String clazz = getPersistence();然后將clazz的對象返回。
6、 isInitialized()
7、 *load(java.net.URL url)加載指定地址的配置文件
8、 removeWorkflow(java.lang.String workflow)移除指定的工作流
9、 saveWorkflow(java.lang.String name, WorkflowDescriptor descriptor, boolean replace)
類(lèi):包括兩個(gè)
它implements Configuration.
這里面最主要的兩個(gè)大方法體就是load和getInputStream,其中getInputStream負責根據指定的url加載定義文件,然后將流返回給load。而load則負責將加載過(guò)來(lái)的xml流進(jìn)行解析,在解析過(guò)程中分別設置持久類(lèi)參數和工廠(chǎng)初始化任務(wù)。
在這個(gè)類(lèi)里用到的是URLWorkflowFactory
這是osworkflow提供給spring的配置文件的類(lèi),其中加載的是加載的spring里的標簽。
private AbstractWorkflowFactory factory;
private WorkflowStore store;
這兩個(gè)也是在spring配置文件中需要進(jìn)行配置的。需要利用spring的DI特性把這兩個(gè)類(lèi)的相應對象注入到osworkflow提供的這個(gè)類(lèi)里面。
spring 的配置文件:
<bean id="osworkflowConfiguration"
class="com.opensymphony.workflow.config.SpringConfiguration">
<property name="store">
<ref local="workflowStore" />
</property>
<property name="factory">
<ref local="workflowFactory" />
</property>
</bean>
當然在spring配置部分還有對workflowstore和workflowfactory的配置部分。
未完待續……
聯(lián)系客服