1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.dishevelled.codegen;
25
26
27
28
29
30
31
32
33 public final class Attribute
34 {
35
36 private final String lower;
37
38
39 private final String mixed;
40
41
42 private final String upper;
43
44
45 private final String description;
46
47
48 private final Role role;
49
50
51 private final Cardinality cardinality;
52
53
54 private final CollectionDescription collectionDescription;
55
56
57 private final boolean bound;
58
59
60
61
62
63
64
65
66
67
68
69
70 public Attribute(final String name,
71 final String roleName,
72 final Cardinality cardinality)
73 {
74 if ((cardinality == Cardinality.ZeroToMany) || (cardinality == Cardinality.OneToMany))
75 {
76 throw new IllegalArgumentException("cardinality must be one of {ZeroToOne, StrictlyOne}");
77 }
78
79 this.lower = CodegenUtils.makeLowercase(name);
80 this.mixed = CodegenUtils.makeMixedCase(name);
81 this.upper = CodegenUtils.makeUppercase(name);
82 this.description = CodegenUtils.makeDescription(name);
83
84 this.role = new Role(roleName);
85
86 this.cardinality = cardinality;
87 this.collectionDescription = null;
88 this.bound = false;
89 }
90
91
92
93
94
95
96
97
98
99
100
101
102 public Attribute(final String name,
103 final String roleName,
104 final Cardinality cardinality,
105 final boolean bound)
106 {
107 if ((cardinality == Cardinality.ZeroToMany) || (cardinality == Cardinality.OneToMany))
108 {
109 throw new IllegalArgumentException("cardinality must be one of {ZeroToOne, StrictlyOne}");
110 }
111
112 this.lower = CodegenUtils.makeLowercase(name);
113 this.mixed = CodegenUtils.makeMixedCase(name);
114 this.upper = CodegenUtils.makeUppercase(name);
115 this.description = CodegenUtils.makeDescription(name);
116
117 this.role = new Role(roleName);
118
119 this.cardinality = cardinality;
120 this.collectionDescription = null;
121 this.bound = bound;
122 }
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139 public Attribute(final String name,
140 final String roleName,
141 final Cardinality cardinality,
142 final boolean indexed,
143 final boolean unique,
144 final boolean ordered,
145 final boolean sorted)
146 {
147 this.lower = CodegenUtils.makeLowercase(name);
148 this.mixed = CodegenUtils.makeMixedCase(name);
149 this.upper = CodegenUtils.makeUppercase(name);
150 this.description = CodegenUtils.makeDescription(name);
151
152 this.role = new Role(roleName);
153
154 this.cardinality = cardinality;
155 if ((cardinality == Cardinality.ZeroToMany) || (cardinality == Cardinality.OneToMany))
156 {
157 this.collectionDescription = CollectionDescription.choose(indexed, unique, ordered, sorted);
158 }
159 else
160 {
161 this.collectionDescription = null;
162 }
163 this.bound = false;
164 }
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182 public Attribute(final String name,
183 final String roleName,
184 final Cardinality cardinality,
185 final boolean bound,
186 final boolean indexed,
187 final boolean unique,
188 final boolean ordered,
189 final boolean sorted)
190 {
191 this.lower = CodegenUtils.makeLowercase(name);
192 this.mixed = CodegenUtils.makeMixedCase(name);
193 this.upper = CodegenUtils.makeUppercase(name);
194 this.description = CodegenUtils.makeDescription(name);
195
196 this.role = new Role(roleName);
197
198 this.cardinality = cardinality;
199 if ((cardinality == Cardinality.ZeroToMany) || (cardinality == Cardinality.OneToMany))
200 {
201 this.collectionDescription = CollectionDescription.choose(indexed, unique, ordered, sorted);
202 }
203 else
204 {
205 this.collectionDescription = null;
206 }
207 this.bound = bound;
208 }
209
210
211
212
213
214
215
216
217
218
219
220
221 public Attribute(final String lower,
222 final String mixed,
223 final String upper,
224 final String description,
225 final Role role,
226 final Cardinality cardinality,
227 final CollectionDescription collectionDescription)
228 {
229 if (role == null)
230 {
231 throw new IllegalArgumentException("role must not be null");
232 }
233 if (cardinality == null)
234 {
235 throw new IllegalArgumentException("cardinality must not be null");
236 }
237
238 this.lower = lower;
239 this.mixed = mixed;
240 this.upper = upper;
241 this.description = description;
242 this.role = role;
243 this.cardinality = cardinality;
244 this.collectionDescription = collectionDescription;
245 this.bound = false;
246 }
247
248
249
250
251
252
253
254
255
256
257
258
259
260 public Attribute(final String lower,
261 final String mixed,
262 final String upper,
263 final String description,
264 final Role role,
265 final Cardinality cardinality,
266 final CollectionDescription collectionDescription,
267 final boolean bound)
268 {
269 if (role == null)
270 {
271 throw new IllegalArgumentException("role must not be null");
272 }
273 if (cardinality == null)
274 {
275 throw new IllegalArgumentException("cardinality must not be null");
276 }
277
278 this.lower = lower;
279 this.mixed = mixed;
280 this.upper = upper;
281 this.description = description;
282 this.role = role;
283 this.cardinality = cardinality;
284 this.collectionDescription = collectionDescription;
285 this.bound = bound;
286 }
287
288
289
290
291
292
293
294 public String getLower()
295 {
296 return lower;
297 }
298
299
300
301
302
303
304 public String getMixed()
305 {
306 return mixed;
307 }
308
309
310
311
312
313
314 public String getUpper()
315 {
316 return upper;
317 }
318
319
320
321
322
323
324 public String getDescription()
325 {
326 return description;
327 }
328
329
330
331
332
333
334 public Role getRole()
335 {
336 return role;
337 }
338
339
340
341
342
343
344 public Cardinality getCardinality()
345 {
346 return cardinality;
347 }
348
349
350
351
352
353
354
355 public CollectionDescription getCollectionDescription()
356 {
357 return collectionDescription;
358 }
359
360
361
362
363
364
365 public boolean isBound()
366 {
367 return bound;
368 }
369 }