1 package emissary.pickup;
2
3 import java.io.DataInputStream;
4 import java.io.DataOutputStream;
5 import java.io.IOException;
6 import javax.annotation.Nullable;
7
8
9
10
11
12 public final class WorkUnit {
13 private String fileName;
14 private String transactionId;
15
16 private boolean failedToParse = false;
17 private boolean failedToProcess = false;
18
19
20
21
22
23
24 WorkUnit(@Nullable String fileName) {
25 this.fileName = fileName;
26 }
27
28
29
30
31
32
33
34
35
36
37 WorkUnit(String fileName, String transactionId, boolean failedToParse, boolean failedToProcess) {
38 this.fileName = fileName;
39 this.transactionId = transactionId;
40 this.failedToParse = failedToParse;
41 this.failedToProcess = failedToProcess;
42 }
43
44 public static WorkUnit readFromStream(DataInputStream in) throws IOException {
45 final WorkUnit u = new WorkUnit(null);
46 u.fileName = WorkBundle.readUtfOrNull(in);
47 u.transactionId = WorkBundle.readUtfOrNull(in);
48 u.failedToParse = in.readBoolean();
49 u.failedToProcess = in.readBoolean();
50 return u;
51 }
52
53 public void writeToStream(DataOutputStream out) throws IOException {
54 WorkBundle.writeUtfOrNull(fileName, out);
55 WorkBundle.writeUtfOrNull(transactionId, out);
56 out.writeBoolean(failedToParse);
57 out.writeBoolean(failedToProcess);
58 }
59
60
61
62
63
64
65 public String getFileName() {
66 return fileName;
67 }
68
69
70
71
72
73
74 public void setFilename(String fileName) {
75 this.fileName = fileName;
76 }
77
78
79
80
81
82
83 public String getTransactionId() {
84 return transactionId;
85 }
86
87
88
89
90
91
92 public void setTransactionId(String transactionId) {
93 this.transactionId = transactionId;
94 }
95
96
97
98
99 public void setFailedToParse() {
100 this.failedToParse = true;
101 }
102
103
104
105
106
107
108 public boolean failedToParse() {
109 return failedToParse;
110 }
111
112
113
114
115 public void setFailedToProcess() {
116 this.failedToProcess = true;
117 }
118
119
120
121
122
123
124 public boolean failedToProcess() {
125 return failedToProcess;
126 }
127 }