1 // Do not edit this file! It was generated by Melati POEM's DSD preprocessor. 2 3 package org.paneris.bibliomania.generated; 4 5 6 import java.util.Collections; 7 import java.util.Enumeration; 8 import java.util.List; 9 import org.melati.poem.AccessPoemException; 10 import org.melati.poem.CachedSelection; 11 import org.melati.poem.Column; 12 import org.melati.poem.Field; 13 import org.melati.poem.JdbcPersistent; 14 import org.melati.poem.ValidationPoemException; 15 import org.melati.poem.util.EmptyEnumeration; 16 import org.paneris.bibliomania.BibliomaniaDatabaseTables; 17 import org.paneris.bibliomania.Currency; 18 import org.paneris.bibliomania.CurrencyTable; 19 import org.paneris.bibliomania.ShopOrder; 20 21 22 /** 23 * Melati POEM generated abstract base class for a <code>Persistent</code> 24 * <code>Currency</code> Object. 25 * 26 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 27 */ 28 public abstract class CurrencyBase 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 BibliomaniaDatabaseTables getBibliomaniaDatabaseTables() { 38 return (BibliomaniaDatabaseTables)getDatabase(); 39 } 40 41 42 /** 43 * Retrieves the <code>CurrencyTable</code> table 44 * which this <code>Persistent</code> is from. 45 * 46 * see org.melati.poem.prepro.TableDef#generatePersistentBaseJava 47 * @return the CurrencyTable 48 */ 49 @SuppressWarnings("unchecked") 50 public CurrencyTable<Currency> getCurrencyTable() { 51 return (CurrencyTable<Currency>)getTable(); 52 } 53 54 @SuppressWarnings("unchecked") 55 private CurrencyTable<Currency> _getCurrencyTable() { 56 return (CurrencyTable<Currency>)getTable(); 57 } 58 59 // Fields in this table 60 /** 61 * id 62 */ 63 protected Integer id; 64 /** 65 * Currency name - The name of the currency 66 */ 67 protected String name; 68 /** 69 * Conversion Rate - The rate at which UK Pounds Sterling are converted into 70 * this currency 71 */ 72 protected Double conversionrate; 73 /** 74 * Currency locale - The locale of the currency for formatting 75 */ 76 protected String locale; 77 78 79 /** 80 * Retrieves the <code>Id</code> value, without locking, 81 * for this <code>Currency</code> <code>Persistent</code>. 82 * 83 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 84 * @return the Integer id 85 */ 86 public Integer getId_unsafe() { 87 return id; 88 } 89 90 91 /** 92 * Sets the <code>Id</code> value directly, without checking, 93 * for this Currency <code>Persistent</code>. 94 * 95 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 96 * @param cooked the pre-validated value to set 97 */ 98 public void setId_unsafe(Integer cooked) { 99 id = cooked; 100 } 101 102 /** 103 * Retrieves the Id value, with locking, for this 104 * <code>Currency</code> <code>Persistent</code>. 105 * 106 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 107 * @throws AccessPoemException 108 * if the current <code>AccessToken</code> 109 * does not confer write access rights 110 * @return the value of the field <code>Id</code> for this 111 * <code>Currency</code> <code>Persistent</code> 112 */ 113 114 public Integer getId() 115 throws AccessPoemException { 116 readLock(); 117 return getId_unsafe(); 118 } 119 120 121 /** 122 * Sets the <code>Id</code> value, with checking, for this 123 * <code>Currency</code> <code>Persistent</code>. 124 * 125 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 126 * @param cooked a validated <code>int</code> 127 * @throws AccessPoemException 128 * if the current <code>AccessToken</code> 129 * does not confer write access rights 130 * @throws ValidationPoemException 131 * if the value is not valid 132 */ 133 public void setId(Integer cooked) 134 throws AccessPoemException, ValidationPoemException { 135 _getCurrencyTable().getIdColumn(). 136 getType().assertValidCooked(cooked); 137 writeLock(); 138 setId_unsafe(cooked); 139 } 140 141 /** 142 * Sets the <code>Id</code> value, with checking, for this 143 * <code>Currency</code> <code>Persistent</code>. 144 * 145 * Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods 146 * @param cooked a validated <code>int</code> 147 * @throws AccessPoemException 148 * if the current <code>AccessToken</code> 149 * does not confer write access rights 150 * @throws ValidationPoemException 151 * if the value is not valid 152 */ 153 154 public final void setId(int cooked) 155 throws AccessPoemException, ValidationPoemException { 156 setId(new Integer(cooked)); 157 } 158 159 160 /** 161 * Retrieves the <code>Id</code> value as a <code>Field</code> 162 * from this <code>Currency</code> <code>Persistent</code>. 163 * 164 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 165 * @throws AccessPoemException 166 * if the current <code>AccessToken</code> 167 * does not confer write access rights 168 * @return the Integer id 169 */ 170 public Field<Integer> getIdField() throws AccessPoemException { 171 Column<Integer> c = _getCurrencyTable().getIdColumn(); 172 return new Field<Integer>((Integer)c.getRaw(this), c); 173 } 174 175 176 /** 177 * Retrieves the <code>Name</code> value, without locking, 178 * for this <code>Currency</code> <code>Persistent</code>. 179 * 180 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 181 * @return the String name 182 */ 183 public String getName_unsafe() { 184 return name; 185 } 186 187 188 /** 189 * Sets the <code>Name</code> value directly, without checking, 190 * for this Currency <code>Persistent</code>. 191 * 192 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 193 * @param cooked the pre-validated value to set 194 */ 195 public void setName_unsafe(String cooked) { 196 name = cooked; 197 } 198 199 /** 200 * Retrieves the Name value, with locking, for this 201 * <code>Currency</code> <code>Persistent</code>. 202 * Field description: 203 * The name of the currency 204 * 205 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 206 * @throws AccessPoemException 207 * if the current <code>AccessToken</code> 208 * does not confer write access rights 209 * @return the value of the field <code>Name</code> for this 210 * <code>Currency</code> <code>Persistent</code> 211 */ 212 213 public String getName() 214 throws AccessPoemException { 215 readLock(); 216 return getName_unsafe(); 217 } 218 219 220 /** 221 * Sets the <code>Name</code> value, with checking, for this 222 * <code>Currency</code> <code>Persistent</code>. 223 * Field description: 224 * The name of the currency 225 * 226 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 227 * @param cooked a validated <code>int</code> 228 * @throws AccessPoemException 229 * if the current <code>AccessToken</code> 230 * does not confer write access rights 231 * @throws ValidationPoemException 232 * if the value is not valid 233 */ 234 public void setName(String cooked) 235 throws AccessPoemException, ValidationPoemException { 236 _getCurrencyTable().getNameColumn(). 237 getType().assertValidCooked(cooked); 238 writeLock(); 239 setName_unsafe(cooked); 240 } 241 242 243 /** 244 * Retrieves the <code>Name</code> value as a <code>Field</code> 245 * from this <code>Currency</code> <code>Persistent</code>. 246 * 247 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 248 * @throws AccessPoemException 249 * if the current <code>AccessToken</code> 250 * does not confer write access rights 251 * @return the String name 252 */ 253 public Field<String> getNameField() throws AccessPoemException { 254 Column<String> c = _getCurrencyTable().getNameColumn(); 255 return new Field<String>((String)c.getRaw(this), c); 256 } 257 258 259 /** 260 * Retrieves the <code>Conversionrate</code> value, without locking, 261 * for this <code>Currency</code> <code>Persistent</code>. 262 * 263 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 264 * @return the Double conversionrate 265 */ 266 public Double getConversionrate_unsafe() { 267 return conversionrate; 268 } 269 270 271 /** 272 * Sets the <code>Conversionrate</code> value directly, without checking, 273 * for this Currency <code>Persistent</code>. 274 * 275 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 276 * @param cooked the pre-validated value to set 277 */ 278 public void setConversionrate_unsafe(Double cooked) { 279 conversionrate = cooked; 280 } 281 282 /** 283 * Retrieves the Conversionrate value, with locking, for this 284 * <code>Currency</code> <code>Persistent</code>. 285 * Field description: 286 * The rate at which UK Pounds Sterling are converted into this currency 287 * 288 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 289 * @throws AccessPoemException 290 * if the current <code>AccessToken</code> 291 * does not confer write access rights 292 * @return the value of the field <code>Conversionrate</code> for this 293 * <code>Currency</code> <code>Persistent</code> 294 */ 295 296 public Double getConversionrate() 297 throws AccessPoemException { 298 readLock(); 299 return getConversionrate_unsafe(); 300 } 301 302 303 /** 304 * Sets the <code>Conversionrate</code> value, with checking, for this 305 * <code>Currency</code> <code>Persistent</code>. 306 * Field description: 307 * The rate at which UK Pounds Sterling are converted into this currency 308 * 309 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 310 * @param cooked a validated <code>int</code> 311 * @throws AccessPoemException 312 * if the current <code>AccessToken</code> 313 * does not confer write access rights 314 * @throws ValidationPoemException 315 * if the value is not valid 316 */ 317 public void setConversionrate(Double cooked) 318 throws AccessPoemException, ValidationPoemException { 319 _getCurrencyTable().getConversionrateColumn(). 320 getType().assertValidCooked(cooked); 321 writeLock(); 322 setConversionrate_unsafe(cooked); 323 } 324 325 /** 326 * Sets the <code>Conversionrate</code> value, with checking, for this <code>Currency</code> <code>Persistent</code>. 327 * Field description: 328 * The rate at which UK Pounds Sterling are converted into this currency 329 * 330 * 331 * Generated by org.melati.poem.prepro.DoubleFieldDef#generateBaseMethods 332 * @param cooked a validated <code>int</code> 333 * @throws AccessPoemException 334 * if the current <code>AccessToken</code> 335 * does not confer write access rights 336 * @throws ValidationPoemException 337 * if the value is not valid 338 */ 339 340 public final void setConversionrate(double cooked) 341 throws AccessPoemException, ValidationPoemException { 342 setConversionrate(new Double(cooked)); 343 } 344 345 346 /** 347 * Retrieves the <code>Conversionrate</code> value as a <code>Field</code> 348 * from this <code>Currency</code> <code>Persistent</code>. 349 * 350 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 351 * @throws AccessPoemException 352 * if the current <code>AccessToken</code> 353 * does not confer write access rights 354 * @return the Double conversionrate 355 */ 356 public Field<Double> getConversionrateField() throws AccessPoemException { 357 Column<Double> c = _getCurrencyTable().getConversionrateColumn(); 358 return new Field<Double>((Double)c.getRaw(this), c); 359 } 360 361 362 /** 363 * Retrieves the <code>Locale</code> value, without locking, 364 * for this <code>Currency</code> <code>Persistent</code>. 365 * 366 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 367 * @return the String locale 368 */ 369 public String getLocale_unsafe() { 370 return locale; 371 } 372 373 374 /** 375 * Sets the <code>Locale</code> value directly, without checking, 376 * for this Currency <code>Persistent</code>. 377 * 378 * see org.melati.poem.prepro.FieldDef#generateBaseMethods 379 * @param cooked the pre-validated value to set 380 */ 381 public void setLocale_unsafe(String cooked) { 382 locale = cooked; 383 } 384 385 /** 386 * Retrieves the Locale value, with locking, for this 387 * <code>Currency</code> <code>Persistent</code>. 388 * Field description: 389 * The locale of the currency for formatting 390 * 391 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 392 * @throws AccessPoemException 393 * if the current <code>AccessToken</code> 394 * does not confer write access rights 395 * @return the value of the field <code>Locale</code> for this 396 * <code>Currency</code> <code>Persistent</code> 397 */ 398 399 public String getLocale() 400 throws AccessPoemException { 401 readLock(); 402 return getLocale_unsafe(); 403 } 404 405 406 /** 407 * Sets the <code>Locale</code> value, with checking, for this 408 * <code>Currency</code> <code>Persistent</code>. 409 * Field description: 410 * The locale of the currency for formatting 411 * 412 * Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods 413 * @param cooked a validated <code>int</code> 414 * @throws AccessPoemException 415 * if the current <code>AccessToken</code> 416 * does not confer write access rights 417 * @throws ValidationPoemException 418 * if the value is not valid 419 */ 420 public void setLocale(String cooked) 421 throws AccessPoemException, ValidationPoemException { 422 _getCurrencyTable().getLocaleColumn(). 423 getType().assertValidCooked(cooked); 424 writeLock(); 425 setLocale_unsafe(cooked); 426 } 427 428 429 /** 430 * Retrieves the <code>Locale</code> value as a <code>Field</code> 431 * from this <code>Currency</code> <code>Persistent</code>. 432 * 433 * see org.melati.poem.prepro.FieldDef#generateFieldCreator 434 * @throws AccessPoemException 435 * if the current <code>AccessToken</code> 436 * does not confer write access rights 437 * @return the String locale 438 */ 439 public Field<String> getLocaleField() throws AccessPoemException { 440 Column<String> c = _getCurrencyTable().getLocaleColumn(); 441 return new Field<String>((String)c.getRaw(this), c); 442 } 443 444 private CachedSelection<ShopOrder> currencyShopOrders = null; 445 /** References to this Currency in the ShopOrder table via its currency field.*/ 446 @SuppressWarnings("unchecked") 447 public Enumeration<ShopOrder> getCurrencyShopOrders() { 448 if (getTroid() == null) 449 return new EmptyEnumeration<ShopOrder>(); 450 else { 451 if (currencyShopOrders == null) 452 currencyShopOrders = 453 getBibliomaniaDatabaseTables().getShopOrderTable().getCurrencyColumn().cachedSelectionWhereEq(getTroid()); 454 return currencyShopOrders.objects(); 455 } 456 } 457 458 459 /** References to this Currency in the ShopOrder table via its currency field, as a List.*/ 460 public List<ShopOrder> getCurrencyShopOrderList() { 461 return Collections.list(getCurrencyShopOrders()); 462 } 463 464 465 466 } 467