🛀组件内方法覆盖和调用
# 可以覆盖的方法
对于组件来说,可以覆盖超类中的以下方法。
# isAccess
推荐实现isAccess
方法,表示是否进入该节点,可以用于业务参数的预先判断
# isContinueOnError
表示出错是否继续往下执行下一个组件,默认为false
# isEnd
如果覆盖后,返回true,则表示在这个组件执行完之后立马终止整个流程。对于这种方式,由于是用户主动结束的流程,属于正常结束,所以最终的isSuccess是为true的。
提示
需要注意的是,如果isContinueOnError
为true的情况下,调用了this.setIsEnd(true)
,那么依旧会终止。response里的isSuccess
还是true。
# beforeProcess和afterProcess
流程的前置和后置处理器,其中前置处理器,在isAccess
之后执行。
用于执行一些前置和后置处理,但是一般这个用不上。如果是统一做组件前置和后置,推荐用切面去完成。关于切面可以参考组件切面;
# onSuccess和onError
流程的成功失败事件回调,详情请参考组件事件回调。
# rollback
流程失败后的回滚方法,详情请参考组件回滚。
# This关键字可以调用的方法
# 获取上下文
在组件节点里,随时可以通过方法this.getContextBean(clazz)
获取当前你自己定义的上下文,从而可以获取任何数据。
# getNodeId
获取组件ID。
# getName
获取组件别名。
# getChainName
获取当前执行的流程名称。
# getRequestData
获取流程的初始参数。
# setIsEnd
表示是否立即结束整个流程 ,用法为this.setIsEnd(true)
。对于这种方式,由于是用户主动结束的流程,属于正常结束,所以最终的isSuccess是为true的。
提示
需要注意的是,如果isContinueOnError
为true的情况下,调用了this.setIsEnd(true)
,那么依旧会终止。response里的isSuccess
还是true。
# getTag
获取这个组件的标签信息,关于标签的定义和使用,请参照tag语法。
# invoke和invoke2Response
调用隐式流程,关于隐式流程的说明和用法,请参考隐式子流程。
# getBindDatav2.13.0+
获得bind关键字绑定的数据,关于bind关键字的用法,请参考[绑定数据]