1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.batch.core.job.builder;
17
18 import org.springframework.batch.core.Step;
19 import org.springframework.batch.core.job.flow.Flow;
20 import org.springframework.batch.core.job.flow.JobExecutionDecider;
21
22
23
24
25
26 public class JobFlowBuilder extends FlowBuilder<FlowJobBuilder> {
27
28 private FlowJobBuilder parent;
29
30 public JobFlowBuilder(FlowJobBuilder parent) {
31 super(parent.getName());
32 this.parent = parent;
33 }
34
35 public JobFlowBuilder(FlowJobBuilder parent, Step step) {
36 super(parent.getName());
37 this.parent = parent;
38 start(step);
39 }
40
41 public JobFlowBuilder(FlowJobBuilder parent, JobExecutionDecider decider) {
42 super(parent.getName());
43 this.parent = parent;
44 start(decider);
45 }
46
47 public JobFlowBuilder(FlowJobBuilder parent, Flow flow) {
48 super(parent.getName());
49 this.parent = parent;
50 start(flow);
51 }
52
53
54
55
56
57
58
59 @Override
60 public FlowJobBuilder build() {
61 Flow flow = flow();
62 parent.flow(flow);
63 return parent;
64 }
65
66 }