1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.batch.core;
17
18 import java.io.Serializable;
19
20
21
22
23
24
25
26
27 @SuppressWarnings("serial")
28 public class StepContribution implements Serializable {
29
30 private volatile int readCount = 0;
31
32 private volatile int writeCount = 0;
33
34 private volatile int filterCount = 0;
35
36 private final int parentSkipCount;
37
38 private volatile int readSkipCount;
39
40 private volatile int writeSkipCount;
41
42 private volatile int processSkipCount;
43
44 private ExitStatus exitStatus = ExitStatus.EXECUTING;
45
46
47
48
49 public StepContribution(StepExecution execution) {
50 this.parentSkipCount = execution.getSkipCount();
51 }
52
53
54
55
56
57
58 public void setExitStatus(ExitStatus status) {
59 this.exitStatus = status;
60 }
61
62
63
64
65
66
67 public ExitStatus getExitStatus() {
68 return exitStatus;
69 }
70
71
72
73
74 public void incrementFilterCount(int count) {
75 filterCount += count;
76 }
77
78
79
80
81 public void incrementReadCount() {
82 readCount++;
83 }
84
85
86
87
88 public void incrementWriteCount(int count) {
89 writeCount += count;
90 }
91
92
93
94
95
96
97 public int getReadCount() {
98 return readCount;
99 }
100
101
102
103
104
105
106 public int getWriteCount() {
107 return writeCount;
108 }
109
110
111
112
113
114 public int getFilterCount() {
115 return filterCount;
116 }
117
118
119
120
121
122 public int getStepSkipCount() {
123 return readSkipCount + writeSkipCount + processSkipCount + parentSkipCount;
124 }
125
126
127
128
129
130
131 public int getSkipCount() {
132 return readSkipCount + writeSkipCount + processSkipCount;
133 }
134
135
136
137
138 public void incrementReadSkipCount() {
139 readSkipCount++;
140 }
141
142
143
144
145 public void incrementReadSkipCount(int count) {
146 readSkipCount += count;
147 }
148
149
150
151
152 public void incrementWriteSkipCount() {
153 writeSkipCount++;
154 }
155
156
157
158
159 public void incrementProcessSkipCount() {
160 processSkipCount++;
161 }
162
163
164
165
166 public int getReadSkipCount() {
167 return readSkipCount;
168 }
169
170
171
172
173 public int getWriteSkipCount() {
174 return writeSkipCount;
175 }
176
177
178
179
180
181 public int getProcessSkipCount() {
182 return processSkipCount;
183 }
184
185
186
187
188
189
190 @Override
191 public String toString() {
192 return "[StepContribution: read=" + readCount + ", written=" + writeCount + ", filtered=" + filterCount
193 + ", readSkips=" + readSkipCount + ", writeSkips=" + writeSkipCount + ", processSkips="
194 + processSkipCount + ", exitStatus=" + exitStatus.getExitCode() + "]";
195 }
196
197
198
199
200 @Override
201 public boolean equals(Object obj) {
202 if (!(obj instanceof StepContribution)) {
203 return false;
204 }
205 StepContribution other = (StepContribution) obj;
206 return toString().equals(other.toString());
207 }
208
209
210
211
212 @Override
213 public int hashCode() {
214 return 11 + toString().hashCode() * 43;
215 }
216
217 }