1 // Do not edit this file! It was generated by Melati POEM's DSD preprocessor.
2
3 package org.melati.example.contacts.generated;
4
5
6 import java.util.Collections;
7 import java.util.Enumeration;
8 import java.util.List;
9 import org.melati.example.contacts.Category;
10 import org.melati.example.contacts.CategoryTable;
11 import org.melati.example.contacts.ContactCategory;
12 import org.melati.example.contacts.ContactsDatabaseTables;
13 import org.melati.poem.AccessPoemException;
14 import org.melati.poem.CachedSelection;
15 import org.melati.poem.Column;
16 import org.melati.poem.Field;
17 import org.melati.poem.JdbcPersistent;
18 import org.melati.poem.ValidationPoemException;
19 import org.melati.poem.util.EmptyEnumeration;
20
21
22 /**
23 * Melati POEM generated abstract base class for a <code>Persistent</code>
24 * <code>Category</code> Object.
25 *
26 * See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
27 */
28 public abstract class CategoryBase extends JdbcPersistent {
29
30
31 /**
32 * Retrieves the Database object.
33 *
34 * See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
35 * @return the database
36 */
37 public ContactsDatabaseTables getContactsDatabaseTables() {
38 return (ContactsDatabaseTables)getDatabase();
39 }
40
41
42 /**
43 * Retrieves the <code>CategoryTable</code> table
44 * which this <code>Persistent</code> is from.
45 *
46 * See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
47 * @return the CategoryTable
48 */
49 @SuppressWarnings("unchecked")
50 public CategoryTable<Category> getCategoryTable() {
51 return (CategoryTable<Category>)getTable();
52 }
53
54 @SuppressWarnings("unchecked")
55 private CategoryTable<Category> _getCategoryTable() {
56 return (CategoryTable<Category>)getTable();
57 }
58
59 // Fields in this table
60 /**
61 * id
62 */
63 protected Integer id;
64 /**
65 * name - Category Name
66 */
67 protected String name;
68
69
70 /**
71 * Retrieves the <code>Id</code> value, without locking,
72 * for this <code>Category</code> <code>Persistent</code>.
73 *
74 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
75 * @return the Integer id
76 */
77 public Integer getId_unsafe() {
78 return id;
79 }
80
81
82 /**
83 * Sets the <code>Id</code> value directly, without checking,
84 * for this Category <code>Persistent</code>.
85 *
86 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
87 * @param cooked the pre-validated value to set
88 */
89 public void setId_unsafe(Integer cooked) {
90 id = cooked;
91 }
92
93 /**
94 * Retrieves the Id value, with locking, for this
95 * <code>Category</code> <code>Persistent</code>.
96 *
97 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
98 * @throws AccessPoemException
99 * if the current <code>AccessToken</code>
100 * does not confer write access rights
101 * @return the value of the field <code>Id</code> for this
102 * <code>Category</code> <code>Persistent</code>
103 */
104
105 public Integer getId()
106 throws AccessPoemException {
107 readLock();
108 return getId_unsafe();
109 }
110
111
112 /**
113 * Sets the <code>Id</code> value, with checking, for this
114 * <code>Category</code> <code>Persistent</code>.
115 *
116 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
117 * @param cooked a validated <code>int</code>
118 * @throws AccessPoemException
119 * if the current <code>AccessToken</code>
120 * does not confer write access rights
121 * @throws ValidationPoemException
122 * if the value is not valid
123 */
124 public void setId(Integer cooked)
125 throws AccessPoemException, ValidationPoemException {
126 _getCategoryTable().getIdColumn().
127 getType().assertValidCooked(cooked);
128 writeLock();
129 setId_unsafe(cooked);
130 }
131
132 /**
133 * Sets the <code>Id</code> value, with checking, for this
134 * <code>Category</code> <code>Persistent</code>.
135 *
136 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
137 * @param cooked a validated <code>int</code>
138 * @throws AccessPoemException
139 * if the current <code>AccessToken</code>
140 * does not confer write access rights
141 * @throws ValidationPoemException
142 * if the value is not valid
143 */
144
145 public final void setId(int cooked)
146 throws AccessPoemException, ValidationPoemException {
147 setId(new Integer(cooked));
148 }
149
150
151 /**
152 * Retrieves the <code>Id</code> value as a <code>Field</code>
153 * from this <code>Category</code> <code>Persistent</code>.
154 *
155 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
156 * @throws AccessPoemException
157 * if the current <code>AccessToken</code>
158 * does not confer write access rights
159 * @return the Integer id
160 */
161 public Field<Integer> getIdField() throws AccessPoemException {
162 Column<Integer> c = _getCategoryTable().getIdColumn();
163 return new Field<Integer>((Integer)c.getRaw(this), c);
164 }
165
166
167 /**
168 * Retrieves the <code>Name</code> value, without locking,
169 * for this <code>Category</code> <code>Persistent</code>.
170 *
171 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
172 * @return the String name
173 */
174 public String getName_unsafe() {
175 return name;
176 }
177
178
179 /**
180 * Sets the <code>Name</code> value directly, without checking,
181 * for this Category <code>Persistent</code>.
182 *
183 * see org.melati.poem.prepro.FieldDef#generateBaseMethods
184 * @param cooked the pre-validated value to set
185 */
186 public void setName_unsafe(String cooked) {
187 name = cooked;
188 }
189
190 /**
191 * Retrieves the Name value, with locking, for this
192 * <code>Category</code> <code>Persistent</code>.
193 * Field description:
194 * Category Name
195 *
196 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
197 * @throws AccessPoemException
198 * if the current <code>AccessToken</code>
199 * does not confer write access rights
200 * @return the value of the field <code>Name</code> for this
201 * <code>Category</code> <code>Persistent</code>
202 */
203
204 public String getName()
205 throws AccessPoemException {
206 readLock();
207 return getName_unsafe();
208 }
209
210
211 /**
212 * Sets the <code>Name</code> value, with checking, for this
213 * <code>Category</code> <code>Persistent</code>.
214 * Field description:
215 * Category Name
216 *
217 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
218 * @param cooked a validated <code>int</code>
219 * @throws AccessPoemException
220 * if the current <code>AccessToken</code>
221 * does not confer write access rights
222 * @throws ValidationPoemException
223 * if the value is not valid
224 */
225 public void setName(String cooked)
226 throws AccessPoemException, ValidationPoemException {
227 _getCategoryTable().getNameColumn().
228 getType().assertValidCooked(cooked);
229 writeLock();
230 setName_unsafe(cooked);
231 }
232
233
234 /**
235 * Retrieves the <code>Name</code> value as a <code>Field</code>
236 * from this <code>Category</code> <code>Persistent</code>.
237 *
238 * see org.melati.poem.prepro.FieldDef#generateFieldCreator
239 * @throws AccessPoemException
240 * if the current <code>AccessToken</code>
241 * does not confer write access rights
242 * @return the String name
243 */
244 public Field<String> getNameField() throws AccessPoemException {
245 Column<String> c = _getCategoryTable().getNameColumn();
246 return new Field<String>((String)c.getRaw(this), c);
247 }
248
249 private CachedSelection<ContactCategory> categoryContactCategorys = null;
250 /** References to this Category in the ContactCategory table via its category field.*/
251 @SuppressWarnings("unchecked")
252 public Enumeration<ContactCategory> getCategoryContactCategorys() {
253 if (getTroid() == null)
254 return new EmptyEnumeration<ContactCategory>();
255 else {
256 if (categoryContactCategorys == null)
257 categoryContactCategorys =
258 getContactsDatabaseTables().getContactCategoryTable().getCategoryColumn().cachedSelectionWhereEq(getTroid());
259 return categoryContactCategorys.objects();
260 }
261 }
262
263
264 /** References to this Category in the ContactCategory table via its category field, as a List.*/
265 public List<ContactCategory> getCategoryContactCategoryList() {
266 return Collections.list(getCategoryContactCategorys());
267 }
268
269
270
271 }
272