### 过程信息输出格式接口
**RunMsgImpl**

| 参数名称   | 类型                                                                                         |
|--------|--------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.runmsg.IRunMsg                                                         |
| 默认实现路径 | com.horizon.wf.runmsg.RunMsgImpl                                                           |
| 配置路径   | hzwf_config.properties<br>调试信息输出默认实现类<br>MsgInfoClassName=com.horizon.wf.runmsg.RunMsgImpl |
| 描述     | 用于记录程序执行过程的信息输出格式调整<br>可以根据项目需要自行修改<br>输出开关<br>调试输出信息开关debug=true                          |

### 日志跟踪记录接口
**TrackLogDefault**

| 参数名称   | 类型                                                                                                    |
|--------|-------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                    |
| 默认实现路径 | com.horizon.wf.rule.defa.TrackLogDefault                                                              |
| 配置路径   | hzwf_config.properties<br>流转日志记录默认实现类<br>TrackLogClassName=com.horizon.wf.rule.defa.TrackLogDefault   |
| 描述     | 流转日志记录                                                                                                |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br>其他参数可以从runningdata中获取,详细方法参考runningdata说明 |


### 业务数据跟流程数据关联存储接口
**RelationRuleDefault**

| 参数名称   | 类型                                                                                                                    |
|--------|-----------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                                    |
| 默认实现路径 | com.horizon.wf.rule.defa.RelationRuleDefault                                                                          |
| 配置路径   | hzwf_config.properties<br>业务数据跟流程数据关联处理默认接口实现类<br>RelationRulesClassName=com.horizon.wf.rule.defa.RelationRuleDefault |
| 描述     | 处理业务数据id和流程实例数据关联表                                                                                                    |
| 默认参数   | 系统调用实现类时会自动执行setRunningData(RunningData runningdata)其他参数可以从runningdata中获取,详细方法参考runningdata说明                         |
### 实例创建权限校验接口
**StartRuleDefault**

| 参数名称   | 类型                                                                                                                                                              |
|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                                                                              |
| 默认实现路径 | com.horizon.wf.rule.defa.TrackLogDefault                                                                                                                        |
| 配置路径   | hzwf_config.properties<br>创建新实例时规则校验默认接口实现类<br>StartRulesClassName=com.horizon.wf.rule.defa.StartRuleDefault                                                    |
| 描述     | 创建实例时,用于判断当前人是否有权限启动流程                                                                                                                                          |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br>其他参数可以从runningdata中获取,详细方法参考runningdata说明                                                           |
| 额外参数   | IRunUser userObj = getParameter(StaticVarExtend.Para_StartRules_RunUser);<br>IXmlFlowInfo flowInfo= getParameter(StaticVarExtend.Para_StartRules_IXmlFlowInfo); |
### 打开实例权限校验接口
**CheckRoleForOpenInstanceDefault**

| 参数名称   | 类型                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 默认实现路径 | com.horizon.wf.rule.defa.CheckRoleForOpenInstanceDefault                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 配置路径   | hzwf_config.properties<br>打开实例时规则校验默认接口实现类<br>CheckRoleClassName=com.horizon.wf.rule.defa.CheckRoleForOpenInstanceDefault                                                                                                                                                                                                                                                                                                                                                           |
| 描述     | 打开流程实例时对当前人在实例中的权限进行计算处理                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br>其他参数可以从runningdata中获取,详细方法参考runningdata说明                                                                                                                                                                                                                                                                                                                                                                               |
| 额外参数	  | userObj = getParameter( StaticVarExtend.Para_CheckRoleForOpenRules_RunUser);<br> String[] tracks 	= getParameter( StaticVarExtend.Para_CheckRoleForOpenRules_Trackids);<br>String[] curNodes 	= getParameter(S taticVarExtend.Para_CheckRoleForOpenRules_AllNodes);<br>int preTrackNodeLen = getParameter( StaticVarExtend.Para_CheckRoleForOpenRules_PreTrackNodeLen);<br>HashMap<String,List<DBWorkAuth>> auths = getParameter(StaticVarExtend.Para_CheckRoleForOpenRules_Auths); |

### 路由规则判断接口
**CheckRouterRuleDefault**

| 参数名称   | 类型                                                                                                                                        |
|--------|-------------------------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                                                        |
| 默认实现路径 | com.horizon.wf.rule.defa.core.CheckRouterRuleDefault                                                                                      |
| 配置路径   | 默认实现路径不可更改,自定义实现类可在流程定义中配置                                                                                                                |
| 描述     | 路由上定义的规则执行.规则脚本不为空,为空的情况在调用类时已过滤                                                                                                          |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br> 其他参数可以从runningdata中获取,详细方法参考runningdata说明                                    |
| 额外参数   | boolean isPass = getParameter(StaticVar.Para_RouterRules_IsPass);<br>IXmlRouter router = getParameter(StaticVar.Para_RouterRules_Router); |
### 节点进入规则接口
**EntryRuleDefault**

| 参数名称   | 类型                                                                                                    |
|--------|-------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                    |
| 默认实现路径 | com.horizon.wf.rule.defa. core.EntryRuleDefault                                                       |
| 配置路径   | 默认实现路径不可更改,自定义实现类可在流程定义中配置                                                                            |
| 描述     | 流转到某节点时,对节点规则的一些处理,比如办理人的获取,是否跳过等返回节点是否允许进入。比较复杂一般不建议修改                                               |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br>其他参数可以从runningdata中获取,详细方法参考runningdata说明 |
### 节点离开时规则接口
**LeaveRuleDefault**

| 参数名称   | 类型                                                                                                    |
|--------|-------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.rule.IBaseRule                                                                    |
| 默认实现路径 | com.horizon.wf.rule.defa. core.LeaveRuleDefault                                                       |
| 配置路径   | 默认实现路径不可更改,自定义实现类可在流程定义中配置                                                                            |
| 描述     | 节点离开时的一些规则处理返回节点是否满足离开要求                                                                              |
| 默认参数   | 系统调用实现类时会自动执行<br>setRunningData(RunningData runningdata)<br>其他参数可以从runningdata中获取,详细方法参考runningdata说明 |
### 删除恢复实例时业务数据处理接口
**AppImpl**

| 参数名称   | 类型                                                                                                              |
|--------|-----------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.IAppInterface                                                                        |
| 默认实现路径 | com.horizon.wf.third.hz.application.AppImpl                                                                     |
| 配置路径   | hzwf_config.properties <br>业务数据处理接口实现类<br>AppClassName=com.horizon.workflow.form.service.impl.SimpleFormAppImpl |
| 描述     | 删除实例和恢复实例时,业务数据相应的处理接口                                                                                          |
### 多语言时当前语言类型获取接口
**GetLangImpl**

| 参数名称   | 类型                                                                                                         |
|--------|------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.config.IGetLang                                                                             |
| 默认实现路径 | com.horizon.wf.third.hz.GetLang.GetLangImpl                                                                |
| 配置路径   | hzwf_config.properties<br>获取语言种类实现类(默认中文)<br>LangTypeClassName=com.horizon.wf.third.hz.getlang.GetLangImpl |
| 描述     | 多语言时，根据session获取当前人的语言类型，用于对应的配置文件获取                                                                       |
### 内存管理接口
**HZMemoryCacheMangerImpl**

| 参数名称   | 类型                                                                                                                     |
|--------|------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.mem.IHZMemoryCacheManager                                                                          |
| 默认实现路径 | com.horizon.wf.third.hz.memory.HZMemoryCacheManagerImpl                                                                |
| 配置路径   | hzwf_config.properties<br>集群时需要的内存缓存控制适配实现类<br>MemoryClassName=com.horizon.wf.third.hz.memory.HZMemoryCacheManagerImpl |
| 描述     | 集群环境时，内存管理实现接口                                                                                                         |
### JMS消息处理接口
**JMSMessageProcess**

| 参数名称   | 类型                                                |
|--------|---------------------------------------------------|
| 接口路径   | com.horizon.message.jms.IJMSMessageProcess        |
| 默认实现路径 | com.horizon.wf.third.hz.message.JMSMessageProcess |
| 配置路径   | Web.xml中jms服务配置信息中指定路径                            |
| 描述     | JMS消息处理                                           |
### 规则脚本执行接口
**RuleEngineImpl**

| 参数名称   | 类型                                                                                                              |
|--------|-----------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.rule.jsr94.IRuleEngine                                                                           |
| 默认实现路径 | com.horizon.wf.third.hz.rule.RuleEngineImpl                                                                     |
| 配置路径   | hzwf_config.properties<br>规则引擎适配类#系统默认<br>droolsRuleEngineClassName=com.horizon.wf.third.hz.rule.RuleEngineImpl |
| 描述     | 流程定义中的规则脚本执行实现类，默认jsr94                                                                                         |
### 获取发送消息标题接口
**MessageMouldImpl**

| 参数名称   | 类型                                                                                                                     |
|--------|------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.IMessageMould                                                                               |
| 默认实现路径 | com.horizon.wf.third.hz.sendtitle.MessageMouldImpl                                                                     |
| 配置路径   | hzwf_config.properties<br>发送消息的标题配置获取实现类 <br>MessageMoudleClassName=com.horizon.wf.third.hz.sendtitle.MessageMouldImpl |
| 描述     | 获取发送消息的的标题                                                                                                             |
### 定时任务相关的接口
**TaskImpl**

| 参数名称   | 类型                                                                                           |
|--------|----------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.ITaskInterface                                                    |
| 默认实现路径 | com.horizon.wf.third.hz.task.TaskImpl                                                        |
| 配置路径   | hzwf_config.properties<br>定时任务支持适配实现类<br>TaskClassName=com.horizon.wf.third.hz.task.TaskImpl |
| 描述     | 流程定义和流转中需要使用的跟定时任务相关的方法<br>默认使用quartz                                                        |
### 发送待办待阅之外的消息接口
**TodoImpl**

| 参数名称   | 类型                                                                                          |
|--------|---------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.ITodoInterface                                                   |
| 默认实现路径 | com.horizon.wf.third.hz.todo.TodoImpl                                                       |
| 配置路径   | hzwf_config.properties <br>发送额外信息实现类<br>TodoClassName=com.horizon.wf.third.hz.todo.TodoImpl |
| 描述     | 发送邮件/系统消息/短信/即时消息以及其他接口                                                                     |
### 权限校验相关的接口
**AuthorityImpl**

| 参数名称   | 类型                                                                                                      |
|--------|---------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.IAuthority                                                                   |
| 默认实现路径 | com.horizon.wf.third.def.authority.AuthorityImpl                                                        |
| 配置路径   | hzwf_config.properties<br>权限校验接口<br>AuthorityClassName=com.horizon.wf.third.def.authority.AuthorityImpl |
| 描述     | 判断是否具有启动流程的权限,是否具有管理员的权限,获取管理员列表<br>默认调用适配器中的ThirdAdapterFactory方法,不建议重写实例类                             |
| 重写方法   | ![流程操作类图](../assets/img/api/AuthorityImpl.png)                                                          |
### 日期判断接口
**HZCalendarImpl**

| 参数名称   | 类型                                                                                                        |
|--------|-----------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.IHZCalendar                                                                    |
| 默认实现路径 | com.horizon.wf.third.def.calendar.HZCalendarImpl                                                          |
| 配置路径   | hzwf_config.properties<br>工作日历接口实现类<br>CalendarClassName=com.horizon.wf.third.def.calendar.HZCalendarImpl |
| 描述     | 用于获取指定日期是否超期,根据设置按工作日/自然日计算<br> 默认调用适配器中的ThirdAdapterFactory方法,不建议重写实例类                                   |
| 重写方法   | ![流程操作类图](../assets/img/api/HZCalendarImpl.png)                                                           |
### 组织信息获取接口
**OrganizationImpl**

| 参数名称   | 类型                                                                                                                |
|--------|-------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.expand.impl.IOrganizationInterface                                                                 |
| 默认实现路径 | com.horizon.wf.third.def.organization.OrganizationImpl                                                            |
| 配置路径   | hzwf_config.properties<br>组织机构实现类<br>OrganizationClassName=com.horizon.wf.third.def.organization.OrganizationImpl |
| 描述     | 获取组织信息的相关接口,包含相对关系的获取<br>默认调用适配器中的ThirdAdapterFactory方法,不建议重写实例类                                                  |
### 持久化实现接口
**DBAccessImpl**

| 参数名称   | 类型                                                                                                             |
|--------|----------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.responsible.IDBAccess                                                                      |
| 默认实现路径 | com.horizon.wf.third.def.persistence.DBAccessImpl                                                              |
| 配置路径   | hzwf_config.properties<br>持久化数据库读写默认实现类<br>DBAccessClassName=com.horizon.wf.third.def.persistence.DBAccessImpl |
| 描述     | 数据库读写和数据源标识判断等相关方法<br>默认调用适配器中的ThirdAdapterFactory方法,不建议重写实例类                                                  |
### 超期节点获取接口
**CurExtendedNodeImpl**

| 参数名称   | 类型                                                                                                                                   |
|--------|--------------------------------------------------------------------------------------------------------------------------------------|
| 接口路径   | com.horizon.wf.core.responsible.ICurExtendedNode                                                                                     |
| 默认实现路径 | com.horizon.wf.responsible.base.CurExtendedNodeImpl                                                                                  |
| 配置路径   | hzwf_config.properties<br>节点超期获取默认实现类，流程跟踪图中获取节点是否超期使用<br>FlowExtendCfgClassName=com.horizon.wf.third.hz.overdue.CurExtendedNodeImpl |
| 描述     | 用于在流程跟踪图中获取超期节点列表                                                                                                                    |
