### Process information output format interface
**RunMsgImpl**

| Parameter                   | Type                                                                                                                                                                                  |
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.runmsg.IRunMsg                                                                                                                                                    |
| Default implementation path | com.horizon.wf.runmsg.RunMsgImpl                                                                                                                                                      |
| Configure path              | hzwf_config.properties<br>Debug information output default implementation class<br>MsgInfoClassName=com.horizon.wf.runmsg.RunMsgImpl                                                  |
| Description                 | Adjustment of information output format for recording program execution process<br>Can be modified according to project needs<br>Output<br>Debug output information switch,debug=true |

### Log tracking and recording interface
**TrackLogDefault**

| Parameter                   | Type                                                                                                                                                                                                                                      |
|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                        |
| Default implementation path | com.horizon.wf.rule.defa.TrackLogDefault                                                                                                                                                                                                  |
| Configure path              | hzwf_config.properties<br>Default implementation class for flow logging<br>TrackLogClassName=com.horizon.wf.rule.defa.TrackLogDefault                                                                                                     |
| Description                 | Process log record                                                                                                                                                                                                                        |
| Default parameters          | Automatically execute when the system invocate the implementation class<br>setRunningData(RunningData runningdata)<br>Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |


### Business data and process data association storage interface
**RelationRuleDefault**

| Parameter                   | Type                                                                                                                                                                                                                              |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                |
| Default implementation path | com.horizon.wf.rule.defa.RelationRuleDefault                                                                                                                                                                                      |
| Configure path              | hzwf_config.properties<br>Default interface implementation class for business data and process data association processing<br>RelationRulesClassName=com.horizon.wf.rule.defa.RelationRuleDefault                                 |
| Description                 | Process business data ID and process instance data association table                                                                                                                                                              |
| Default parameters          | Automatically execute when the system calls the implementation class, setRunningData(RunningData runningdata),Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |
### Instance creation permission verification interface
**StartRuleDefault**

| Parameter                   | Type                                                                                                                                                                                                                                   |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                     |
| Default implementation path | com.horizon.wf.rule.defa.TrackLogDefault                                                                                                                                                                                               |
| Configure path              | hzwf_config.properties<br>Rule validation default interface implementation class when creating a new instance<br>StartRulesClassName=com.horizon.wf.rule.defa.StartRuleDefault                                                         |
| Description                 | When creating an instance, it is used to determine whether the current person has permission to start the process                                                                                                                      |
| Default parameters          | Automatically execute when the system calls the implementation class<br>setRunningData(RunningData runningdata)<br>Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |
| Additional parameters       | IRunUser userObj = getParameter(StaticVarExtend.Para_StartRules_RunUser);<br>IXmlFlowInfo flowInfo= getParameter(StaticVarExtend.Para_StartRules_IXmlFlowInfo);                                                                        |
### Open the instance permission verification interface
**CheckRoleForOpenInstanceDefault**

| Parameter                   | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Default implementation path | com.horizon.wf.rule.defa.CheckRoleForOpenInstanceDefault                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Configure path              | hzwf_config.properties<br>Rule validation default interface implementation class when opening an instance<br>CheckRoleClassName=com.horizon.wf.rule.defa.CheckRoleForOpenInstanceDefault                                                                                                                                                                                                                                                                                            |
| Description                 | Calculate and process the permissions of the current person in the instance when opening the process instance                                                                                                                                                                                                                                                                                                                                                                       |
| Default parameters          | Automatically execute when the system calls the implementation class<br>setRunningData(RunningData runningdata)<br>Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods                                                                                                                                                                                                                                              |
| Additional parameters       | 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); |

### Routing rule judgment interface
**CheckRouterRuleDefault**

| Parameters                  | Type                                                                                                                                                                                                                                    |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                      |
| Default implementation path | com.horizon.wf.rule.defa.core.CheckRouterRuleDefault                                                                                                                                                                                    |
| Configure path              | The default implementation path cannot be changed, and customed implementation classes can be configured in the process definition                                                                                                      |
| Description                 | Rule  defined on the route can not be empty, if the rule script is empty ,it will be filtered when executing                                                                                                                            |
| Default parameters          | Automatically execute when the system calls the implementation class<br>setRunningData(RunningData runningdata)<br> Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |
| Additional parameters       | boolean isPass = getParameter(StaticVar.Para_RouterRules_IsPass);<br>IXmlRouter router = getParameter(StaticVar.Para_RouterRules_Router);                                                                                               |
### The  rule interface of node entering
**EntryRuleDefault**

| Parameters                  | Type                                                                                                                                                                                                                                   |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                     |
| Default implementation path | com.horizon.wf.rule.defa. core.EntryRuleDefault                                                                                                                                                                                        |
| Configure path              | The default implementation path cannot be changed, and customed implementation classes can be configured in the process definition                                                                                                     |
| Description                 | When process come to a certain node, some processing of node rules, such as obtaining the operator, skipping, etc., returns whether the node is allowed to enter. Relatively complex, generally not recommended for modification       |
| Default parameters          | Automatically execute when the system calls the implementation class<br>setRunningData(RunningData runningdata)<br>Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |
### Rule interface of node leaving
**LeaveRuleDefault**

| Parameters                  | Type                                                                                                                                                                                                                                   |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.rule.IBaseRule                                                                                                                                                                                                     |
| Default implementation path | com.horizon.wf.rule.defa. core.LeaveRuleDefault                                                                                                                                                                                        |
| Configure path              | The default implementation path cannot be changed, and customed implementation classes can be configured in the process definition                                                                                                     |
| Description                 | Rules for node leaving,  the node can leave only when it meets the leaving rules                                                                                                                                                       |
| Default parameters          | Automatically execute when the system calls the implementation class<br>setRunningData(RunningData runningdata)<br>Other parameters can be obtained from runningdata, please refer to the runningdata description for detailed methods |
### Business data processing interface when deleting or restoring instances
**AppImpl**

| Parameters                  | Type                                                                                                                                               |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.IAppInterface                                                                                                           |
| Default implementation path | com.horizon.wf.third.hz.application.AppImpl                                                                                                        |
| Configure path              | hzwf_config.properties <br>Data processing interface implementation class<br>AppClassName=com.horizon.workflow.form.service.impl.SimpleFormAppImpl |
| Description                 | Business data processing interface when deleting or restoring instances                                                                            |
### Interface for obtaining the current language type in a multilingual environment
**GetLangImpl**

| Parameters                  | Type                                                                                                                                                                   |
|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.config.IGetLang                                                                                                                                         |
| Default implementation path | com.horizon.wf.third.hz.GetLang.GetLangImpl                                                                                                                            |
| Configure path              | hzwf_config.properties<br>Obtain language type implementation class (default Chinese)<br>LangTypeClassName=com.horizon.wf.third.hz.getlang.GetLangImpl                 |
| Description                 | Obtain the language type of the current person based on the session in multilingual environment, which is used to obtain the corresponding language configuration file |
### Memory management interface
**HZMemoryCacheMangerImpl**

| Parameters                  | Type                                                                                                                                                                              |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.mem.IHZMemoryCacheManager                                                                                                                                     |
| Default implementation path | com.horizon.wf.third.hz.memory.HZMemoryCacheManagerImpl                                                                                                                           |
| Configure path              | hzwf_config.properties<br>Memory cache control adaptation implementation class required for clustering<br>MemoryClassName=com.horizon.wf.third.hz.memory.HZMemoryCacheManagerImpl |
| Description                 | Memory cache control adaptation implementation class required for clustering                                                                                                      |
### JMS message processing interface
**JMSMessageProcess**

| Parameters                  | Type                                                               |
|-----------------------------|--------------------------------------------------------------------|
| Interface Path              | com.horizon.message.jms.IJMSMessageProcess                         |
| Default implementation path | com.horizon.wf.third.hz.message.JMSMessageProcess                  |
| Configure path              | Path specified in jms service configuration information in Web.xml |
| Description                 | JMS message processing interface                                   |
### Rule script execution interface
**RuleEngineImpl**

| Parameters                  | Type                                                                                                                                             |
|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.rule.jsr94.IRuleEngine                                                                                                            |
| Default implementation path | com.horizon.wf.third.hz.rule.RuleEngineImpl                                                                                                      |
| Configure path              | hzwf_config.properties<br>Rule engine adaptation class # System default<br>droolsRuleEngineClassName=com.horizon.wf.third.hz.rule.RuleEngineImpl |
| Description                 | Rule script execution implementation class in process definition, default to jsr94                                                               |
### Get message title interface
**MessageMouldImpl**

| Parameters                  | Type                                                                                                                                                                       |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.IMessageMould                                                                                                                                   |
| Default implementation path | com.horizon.wf.third.hz.sendtitle.MessageMouldImpl                                                                                                                         |
| Configure path              | hzwf_config.properties<br>Implementation class for obtaining  configure headers of  messages <br>MessageMoudleClassName=com.horizon.wf.third.hz.sendtitle.MessageMouldImpl |
| Description                 | Get message title interface                                                                                                                                                |
### Interface related to timing tasks
**TaskImpl**

| Parameters                  | Type                                                                                                                                 |
|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.ITaskInterface                                                                                            |
| Default implementation path | com.horizon.wf.third.hz.task.TaskImpl                                                                                                |
| Configure path              | hzwf_config.properties<br>Timing task support adaptation implementation class<br>TaskClassName=com.horizon.wf.third.hz.task.TaskImpl |
| Description                 | The methods related to timing tasks that need to be used in process definition and flowing<br>Default to use 'quartz'                |
### Interface of Sending Mail/Msg/SMS/IM/ and other message 
**TodoImpl**

| Parameters                  | Type                                                                                                                         |
|-----------------------------|------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.ITodoInterface                                                                                    |
| Default implementation path | com.horizon.wf.third.hz.todo.TodoImpl                                                                                        |
| Configure path              | hzwf_config.properties <br>Sending other message implementation class<br>TodoClassName=com.horizon.wf.third.hz.todo.TodoImpl |
| Description                 | Interface of Sending Mail/Msg/SMS/IM/ and other message                                                                      |
### Interface related to permission verification
**AuthorityImpl**

| Parameters                  | Type                                                                                                                                                                                                                                                            |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.IAuthority                                                                                                                                                                                                                           |
| Default implementation path | com.horizon.wf.third.def.authority.AuthorityImpl                                                                                                                                                                                                                |
| Configure path              | hzwf_config.properties<br>Permission verification interface<br>AuthorityClassName=com.horizon.wf.third.def.authority.AuthorityImpl                                                                                                                              |
| Description                 | Determine whether having permission to start the process, whether having administrator permissions, and obtain a list of administrators<br>The ThirdAdapterFactory method in the adapter is called by default, and it is not recommended to override this class |
| Override method             | ![Process operation class diagram](../assets/img/api/AuthorityImpl.png)                                                                                                                                                                                         |
### Date judgment interface
**HZCalendarImpl**

| Parameters                  | Type                                                                                                                                                                                                                                                 |
|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.IHZCalendar                                                                                                                                                                                                               |
| Default implementation path | com.horizon.wf.third.def.calendar.HZCalendarImpl                                                                                                                                                                                                     |
| Configure path              | hzwf_config.properties<br>Work Calendar Interface Implementation Class<br>CalendarClassName=com.horizon.wf.third.def.calendar.HZCalendarImpl                                                                                                         |
| Description                 | Used to obtain whether the specified date is overdue, calculated by working days/natural days according to the settings<br> The ThirdAdapterFactory method in the adapter is called by default, and it is not recommended to override instance class |
| Override method             | ![Process operation class diagram](../assets/img/api/HZCalendarImpl.png)                                                                                                                                                                             |
### Organization information obtaining interface
**OrganizationImpl**

| Parameters                  | Type                                                                                                                                                                                                                                 |
|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.expand.impl.IOrganizationInterface                                                                                                                                                                                    |
| Default implementation path | com.horizon.wf.third.def.organization.OrganizationImpl                                                                                                                                                                               |
| Configure path              | hzwf_config.properties<br>Organizational structure implementation class<br>OrganizationClassName=com.horizon.wf.third.def.organization.OrganizationImpl                                                                              |
| Description                 | Relevant interfaces for obtaining organizational information, including obtaining relative relationships<br>The ThirdAdapterFactory method in the adapter is called by default, and it is not recommended to override instance class |
### Persistence implementation interface
**DBAccessImpl**

| Parameters                  | Type                                                                                                                                                                                                           |
|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.responsible.IDBAccess                                                                                                                                                                      |
| Default implementation path | com.horizon.wf.third.def.persistence.DBAccessImpl                                                                                                                                                              |
| Configure path              | hzwf_config.properties<br>Default implementation class for persistent database read and write<br>DBAccessClassName=com.horizon.wf.third.def.persistence.DBAccessImpl                                           |
| Description                 | Related methods such as database read/write and data source identification judgment<br>he ThirdAdapterFactory method in the adapter is called by default, and it is not recommended to override instance class |
### Overdue node obtaining interface
**CurExtendedNodeImpl**

| Parameters                  | Type                                                                                                                                                                                                                                    |
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Interface Path              | com.horizon.wf.core.responsible.ICurExtendedNode                                                                                                                                                                                        |
| Default implementation path | com.horizon.wf.responsible.base.CurExtendedNodeImpl                                                                                                                                                                                     |
| Configure path              | hzwf_config.properties<br>Obtain the default implementation class for node overdue, and check whether the node is overdue in the process tracking diagram<br>FlowExtendCfgClassName=com.horizon.wf.third.hz.overdue.CurExtendedNodeImpl |
| Description                 | Used to obtain a list of overdue nodes in the process tracking diagram                                                                                                                                                                  |
