CategoryBase.java
// Do not edit this file! It was generated by Melati POEM's DSD preprocessor.
package org.melati.example.contacts.generated;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import org.melati.example.contacts.Category;
import org.melati.example.contacts.CategoryTable;
import org.melati.example.contacts.ContactCategory;
import org.melati.example.contacts.ContactsDatabaseTables;
import org.melati.poem.AccessPoemException;
import org.melati.poem.CachedSelection;
import org.melati.poem.Column;
import org.melati.poem.Field;
import org.melati.poem.JdbcPersistent;
import org.melati.poem.ValidationPoemException;
import org.melati.poem.util.EmptyEnumeration;
/**
* Melati POEM generated abstract base class for a <code>Persistent</code>
* <code>Category</code> Object.
*
* See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
*/
public abstract class CategoryBase extends JdbcPersistent {
/**
* Retrieves the Database object.
*
* See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
* @return the database
*/
public ContactsDatabaseTables getContactsDatabaseTables() {
return (ContactsDatabaseTables)getDatabase();
}
/**
* Retrieves the <code>CategoryTable</code> table
* which this <code>Persistent</code> is from.
*
* See org.melati.poem.prepro.TableDef#generatePersistentBaseJava
* @return the CategoryTable
*/
@SuppressWarnings("unchecked")
public CategoryTable<Category> getCategoryTable() {
return (CategoryTable<Category>)getTable();
}
@SuppressWarnings("unchecked")
private CategoryTable<Category> _getCategoryTable() {
return (CategoryTable<Category>)getTable();
}
// Fields in this table
/**
* id
*/
protected Integer id;
/**
* name - Category Name
*/
protected String name;
/**
* Retrieves the <code>Id</code> value, without locking,
* for this <code>Category</code> <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateBaseMethods
* @return the Integer id
*/
public Integer getId_unsafe() {
return id;
}
/**
* Sets the <code>Id</code> value directly, without checking,
* for this Category <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateBaseMethods
* @param cooked the pre-validated value to set
*/
public void setId_unsafe(Integer cooked) {
id = cooked;
}
/**
* Retrieves the Id value, with locking, for this
* <code>Category</code> <code>Persistent</code>.
*
* Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @return the value of the field <code>Id</code> for this
* <code>Category</code> <code>Persistent</code>
*/
public Integer getId()
throws AccessPoemException {
readLock();
return getId_unsafe();
}
/**
* Sets the <code>Id</code> value, with checking, for this
* <code>Category</code> <code>Persistent</code>.
*
* Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
* @param cooked a validated <code>int</code>
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @throws ValidationPoemException
* if the value is not valid
*/
public void setId(Integer cooked)
throws AccessPoemException, ValidationPoemException {
_getCategoryTable().getIdColumn().
getType().assertValidCooked(cooked);
writeLock();
setId_unsafe(cooked);
}
/**
* Sets the <code>Id</code> value, with checking, for this
* <code>Category</code> <code>Persistent</code>.
*
* Generated by org.melati.poem.prepro.IntegerFieldDef#generateBaseMethods
* @param cooked a validated <code>int</code>
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @throws ValidationPoemException
* if the value is not valid
*/
public final void setId(int cooked)
throws AccessPoemException, ValidationPoemException {
setId(new Integer(cooked));
}
/**
* Retrieves the <code>Id</code> value as a <code>Field</code>
* from this <code>Category</code> <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateFieldCreator
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @return the Integer id
*/
public Field<Integer> getIdField() throws AccessPoemException {
Column<Integer> c = _getCategoryTable().getIdColumn();
return new Field<Integer>((Integer)c.getRaw(this), c);
}
/**
* Retrieves the <code>Name</code> value, without locking,
* for this <code>Category</code> <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateBaseMethods
* @return the String name
*/
public String getName_unsafe() {
return name;
}
/**
* Sets the <code>Name</code> value directly, without checking,
* for this Category <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateBaseMethods
* @param cooked the pre-validated value to set
*/
public void setName_unsafe(String cooked) {
name = cooked;
}
/**
* Retrieves the Name value, with locking, for this
* <code>Category</code> <code>Persistent</code>.
* Field description:
* Category Name
*
* Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @return the value of the field <code>Name</code> for this
* <code>Category</code> <code>Persistent</code>
*/
public String getName()
throws AccessPoemException {
readLock();
return getName_unsafe();
}
/**
* Sets the <code>Name</code> value, with checking, for this
* <code>Category</code> <code>Persistent</code>.
* Field description:
* Category Name
*
* Generated by org.melati.poem.prepro.AtomFieldDef#generateBaseMethods
* @param cooked a validated <code>int</code>
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @throws ValidationPoemException
* if the value is not valid
*/
public void setName(String cooked)
throws AccessPoemException, ValidationPoemException {
_getCategoryTable().getNameColumn().
getType().assertValidCooked(cooked);
writeLock();
setName_unsafe(cooked);
}
/**
* Retrieves the <code>Name</code> value as a <code>Field</code>
* from this <code>Category</code> <code>Persistent</code>.
*
* see org.melati.poem.prepro.FieldDef#generateFieldCreator
* @throws AccessPoemException
* if the current <code>AccessToken</code>
* does not confer write access rights
* @return the String name
*/
public Field<String> getNameField() throws AccessPoemException {
Column<String> c = _getCategoryTable().getNameColumn();
return new Field<String>((String)c.getRaw(this), c);
}
private CachedSelection<ContactCategory> categoryContactCategorys = null;
/** References to this Category in the ContactCategory table via its category field.*/
@SuppressWarnings("unchecked")
public Enumeration<ContactCategory> getCategoryContactCategorys() {
if (getTroid() == null)
return new EmptyEnumeration<ContactCategory>();
else {
if (categoryContactCategorys == null)
categoryContactCategorys =
getContactsDatabaseTables().getContactCategoryTable().getCategoryColumn().cachedSelectionWhereEq(getTroid());
return categoryContactCategorys.objects();
}
}
/** References to this Category in the ContactCategory table via its category field, as a List.*/
public List<ContactCategory> getCategoryContactCategoryList() {
return Collections.list(getCategoryContactCategorys());
}
}