admin 管理员组

文章数量: 1087870


2024年5月31日发(作者:c和指针epub)

19 * @param

20 * @return

21 */

22 default Integer getOrder() {

23 return HIGHEST_ORDER ;

24 }

25

26 }

1 public abstract class AbstractChain implements Chain, Cloneable {

2

3 }

1 public class ChainHandler extends AbstractChain {

2

3 private List chains ;

4

5 public ChainHandler(List chains){

6 = chains ;

7 (ingInt(Chain::getOrder));

8 }

9

10 private boolean hasNext(int pos){

11 return ()-1 >= pos ;

12 }

13

14 public List getChains() {

15 return chains;

16 }

17

18 public void setChains(List chains) {

19 = chains;

20 }

21

22 @Override

23 public T doChain(ChainHandler chainHandler, int pos, Process process) {

24 if(hasNext(pos)) return ins().get(pos).doChain(chainHandler, ++pos, process);

25 return ess();

26 }

27 }

1 public class ChainLoader {

2

3 public static List loadChain(){

4 List chains = new ArrayList<>() ;

5 ServiceLoader serviceLoader = ();

6 h(chains::add);

7 return chains ;

8 }

9 }

1 package ;

2

3 import ctChain;

4 import ;

5 import andler;

6 import s;

7 import ;

8

9 public class HelloChain extends AbstractChain {

10

11 @Override

12 public T doChain(ChainHandler chainHandler, int pos, Process process) {

13 n("HelloChain被触发了");

14 return n(chainHandler, pos, process);

15 }

16

17 @Override

18 public Integer getOrder() {

19 return LOWEREST_ORDER-1 ;

20 }

21

22 }

23

24 package ;

25 import ctChain;

26 import andler;

27 import s;

28

29 public class LogChain extends AbstractChain {

30


本文标签: 指针 作者