1 package org.kuali.ole.deliver.api;
2
3 import org.apache.commons.lang.StringUtils;
4 import org.kuali.rice.core.api.CoreConstants;
5 import org.kuali.rice.core.api.mo.AbstractDataTransferObject;
6 import org.kuali.rice.core.api.mo.ModelBuilder;
7 import org.kuali.rice.kim.api.KimConstants;
8 import org.w3c.dom.Element;
9
10 import javax.xml.bind.annotation.*;
11 import java.io.Serializable;
12 import java.util.Collection;
13
14
15
16
17
18
19
20
21 @XmlRootElement(name = org.kuali.ole.deliver.api.OleAddressSourceDefinition.Constants.ROOT_ELEMENT_NAME)
22 @XmlAccessorType(XmlAccessType.NONE)
23 @XmlType(name = org.kuali.ole.deliver.api.OleAddressSourceDefinition.Constants.TYPE_NAME, propOrder = {
24 org.kuali.ole.deliver.api.OleAddressSourceDefinition.Elements.OLE_ADDRESS_SOURCE_ID,
25 org.kuali.ole.deliver.api.OleAddressSourceDefinition.Elements.OLE_ADDRESS_SOURCE_CODE,
26 org.kuali.ole.deliver.api.OleAddressSourceDefinition.Elements.OLE_ADDRESS_SOURCE_NAME,
27 org.kuali.ole.deliver.api.OleAddressSourceDefinition.Elements.OLE_ADDRESS_SOURCE_DESC,
28 org.kuali.ole.deliver.api.OleAddressSourceDefinition.Elements.ACTIVE_INDICATOR,
29
30 CoreConstants.CommonElements.VERSION_NUMBER,
31
32 CoreConstants.CommonElements.FUTURE_ELEMENTS
33 })
34 public final class OleAddressSourceDefinition extends AbstractDataTransferObject implements OleAddressSourceContract {
35
36 private static final long serialVersionUID = 1L;
37
38
39 @XmlElement(name = Elements.OLE_ADDRESS_SOURCE_ID, required = false)
40 private final String oleAddressSourceId;
41
42 @XmlElement(name = Elements.OLE_ADDRESS_SOURCE_CODE, required = false)
43 private final String oleAddressSourceCode;
44
45 @XmlElement(name = Elements.OLE_ADDRESS_SOURCE_NAME, required = false)
46 private final String oleAddressSourceName;
47
48 @XmlElement(name = Elements.OLE_ADDRESS_SOURCE_DESC, required = false)
49 private final String oleAddressSourceDesc;
50
51 @XmlElement(name = Elements.ACTIVE_INDICATOR, required = false)
52 private final boolean active;
53
54 @XmlElement(name = CoreConstants.CommonElements.VERSION_NUMBER, required = false)
55 private final Long versionNumber;
56
57
58
59 @SuppressWarnings("unused")
60 @XmlAnyElement
61 private final Collection<Element> _futureElements = null;
62
63 public OleAddressSourceDefinition() {
64 this.oleAddressSourceId = null;
65 this.oleAddressSourceCode = null;
66 this.oleAddressSourceName = null;
67 this.active = false;
68 this.oleAddressSourceDesc = null;
69 this.versionNumber = null;
70
71 }
72
73
74 private OleAddressSourceDefinition(Builder builder) {
75 this.oleAddressSourceId = builder.getOleAddressSourceId();
76 this.oleAddressSourceCode = builder.getOleAddressSourceCode();
77 this.oleAddressSourceName = builder.getOleAddressSourceName();
78 this.oleAddressSourceDesc = builder.getOleAddressSourceDesc();
79 this.active = builder.isActive();
80
81 this.versionNumber = builder.getVersionNumber();
82
83 }
84
85
86 @Override
87 public String getOleAddressSourceId() {
88 return this.oleAddressSourceId;
89 }
90
91 @Override
92 public String getOleAddressSourceCode() {
93 return this.oleAddressSourceCode;
94 }
95
96 @Override
97 public String getOleAddressSourceName() {
98 return this.oleAddressSourceName;
99 }
100
101 @Override
102 public String getOleAddressSourceDesc() {
103 return this.oleAddressSourceDesc;
104 }
105
106 @Override
107 public boolean isActive() {
108 return this.active;
109 }
110
111 ;
112
113
114 @Override
115 public String getId() {
116 return this.oleAddressSourceId;
117 }
118
119
120 @Override
121 public Long getVersionNumber() {
122 return this.versionNumber;
123 }
124
125
126
127
128
129
130
131 public static class Builder
132 implements Serializable, ModelBuilder, OleAddressSourceContract {
133
134 private String oleAddressSourceId;
135 private String oleAddressSourceCode;
136 private String oleAddressSourceName;
137 private String oleAddressSourceDesc;
138 private boolean active;
139
140 private Long versionNumber;
141 private String objectId;
142
143 private Builder() {
144 }
145
146 public static Builder create() {
147 return new Builder();
148 }
149
150 public static Builder create(OleAddressSourceContract contract) {
151 if (contract == null) {
152 throw new IllegalArgumentException("contract was null");
153 }
154 Builder builder = create();
155 if (contract.getOleAddressSourceId() != null) {
156 builder.setOleAddressSourceId(contract.getOleAddressSourceId());
157 }
158 if (contract.getOleAddressSourceCode() != null) {
159 builder.setOleAddressSourceCode(contract.getOleAddressSourceCode());
160 }
161 if (contract.getOleAddressSourceName() != null) {
162 builder.setOleAddressSourceName(contract.getOleAddressSourceName());
163 }
164 if (contract.isActive()) {
165 builder.setActive(contract.isActive());
166 }
167 if (contract.getOleAddressSourceDesc() != null) {
168 builder.setOleAddressSourceDesc(contract.getOleAddressSourceDesc());
169 }
170
171 builder.setVersionNumber(contract.getVersionNumber());
172
173
174 builder.setId(contract.getId());
175 return builder;
176 }
177
178
179 public org.kuali.ole.deliver.api.OleAddressSourceDefinition build() {
180 return new org.kuali.ole.deliver.api.OleAddressSourceDefinition(this);
181 }
182
183 public String getOleAddressSourceId() {
184 return oleAddressSourceId;
185 }
186
187 public void setOleAddressSourceId(String oleAddressSourceId) {
188 this.oleAddressSourceId = oleAddressSourceId;
189 }
190
191 public String getOleAddressSourceCode() {
192 return oleAddressSourceCode;
193 }
194
195 public void setOleAddressSourceCode(String oleAddressSourceCode) {
196 this.oleAddressSourceCode = oleAddressSourceCode;
197 }
198
199 public String getOleAddressSourceName() {
200 return oleAddressSourceName;
201 }
202
203 public void setOleAddressSourceName(String oleAddressSourceName) {
204 this.oleAddressSourceName = oleAddressSourceName;
205 }
206
207 public String getOleAddressSourceDesc() {
208 return oleAddressSourceDesc;
209 }
210
211 public void setOleAddressSourceDesc(String oleAddressSourceDesc) {
212 this.oleAddressSourceDesc = oleAddressSourceDesc;
213 }
214
215 public boolean isActive() {
216 return active;
217 }
218
219 public void setActive(boolean active) {
220 this.active = active;
221 }
222
223 @Override
224 public Long getVersionNumber() {
225 return versionNumber;
226 }
227
228 public void setVersionNumber(Long versionNumber) {
229 this.versionNumber = versionNumber;
230 }
231
232
233
234
235
236
237 public void setObjectId(String objectId) {
238 this.objectId = objectId;
239 }
240
241 @Override
242 public String getId() {
243 return this.oleAddressSourceId;
244 }
245
246
247 public void setId(String id) {
248 if (StringUtils.isWhitespace(id)) {
249 throw new IllegalArgumentException("id is blank");
250 }
251 this.oleAddressSourceId = id;
252 }
253 }
254
255 static class Constants {
256
257 final static String ROOT_ELEMENT_NAME = "oleAddressSource";
258 final static String TYPE_NAME = "OleAddressSourceType";
259 final static String[] HASH_CODE_EQUALS_EXCLUDE = new String[]{CoreConstants.CommonElements.FUTURE_ELEMENTS};
260 }
261
262 static class Elements {
263 final static String OLE_ADDRESS_SOURCE_ID = "oleAddressSourceId";
264 final static String OLE_ADDRESS_SOURCE_CODE = "oleAddressSourceCode";
265 final static String OLE_ADDRESS_SOURCE_NAME = "oleAddressSourceName";
266 final static String OLE_ADDRESS_SOURCE_DESC = "oleAddressSourceDesc";
267 final static String ACTIVE_INDICATOR = "active";
268
269
270 }
271
272 public static class Cache {
273 public static final String NAME = KimConstants.Namespaces.KIM_NAMESPACE_2_0 + "/" + Constants.TYPE_NAME;
274 }
275 }