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