org.javagen.agile.db.model
Class Table

java.lang.Object
  extended by org.javagen.agile.core.model.AbstractModel
      extended by org.javagen.agile.db.model.Table
All Implemented Interfaces:
Serializable, ContextHolder, Model

public class Table
extends AbstractModel

See Also:
Serialized Form

Field Summary
static String DEFAULT_MODEL_TYPE
           
protected  List<FkConstraint> fkConstraints
           
protected  Boolean linkTable
           
protected  List<PkColumn> primaryKeys
           
 
Fields inherited from class org.javagen.agile.core.model.AbstractModel
childModels, context, id, modelType, name, parentModel
 
Constructor Summary
Table()
           
Table(Database parentDatabase)
           
Table(String name)
           
 
Method Summary
 void addColumn(Column column)
           
 Column addColumn(String name, DbType dbType, Object defaultValue, Boolean notNull, Boolean unique, Integer columnSize, Integer scale)
           
 void addFkColumn(FkConstraint fkConstraint)
           
 PkColumn addPkColumn(String name, DbType dbType, Object defaultValue, Boolean autoIncrement, Integer columnSize, Integer scale)
           
 List<Model> allOwnedModels()
          This method is used by the visitor patterns to navigate the model tree hierarchy.
 void copyTo(Model targetModel)
          Copy non-null properties into target model instance.
 Column createColumn()
           
 FkConstraint createFkColumn()
           
 PkColumn createPkColumn()
           
 boolean equals(Object obj)
           
 List<Column> getColumns()
           
 List<FkConstraint> getFkColumns()
           
 Database getParentDatabase()
           
 List<PkColumn> getPrimaryKeys()
           
 boolean hasCompositeKey()
           
 int hashCode()
           
 Boolean isLinkTable()
          Default value if not set is false.
 Column lookupColumn(String name)
           
 FkConstraint lookupFkColumn(String name)
           
 void setFkColumns(List<FkConstraint> fkConstraints)
           
 void setLinkTable(Boolean linkTable)
           
 void setParentDatabase(Database parentDatabase)
           
 
Methods inherited from class org.javagen.agile.core.model.AbstractModel
addChildModel, get, getChildModels, getContext, getId, getModelType, getName, getParentModel, lookupChildByName, put, setChildModels, setContext, setId, setModelType, setName, setParentModel, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_MODEL_TYPE

public static final String DEFAULT_MODEL_TYPE
See Also:
Constant Field Values

primaryKeys

protected transient List<PkColumn> primaryKeys

fkConstraints

protected List<FkConstraint> fkConstraints

linkTable

protected Boolean linkTable
Constructor Detail

Table

public Table()

Table

public Table(Database parentDatabase)

Table

public Table(String name)
Method Detail

getParentDatabase

public Database getParentDatabase()

setParentDatabase

public void setParentDatabase(Database parentDatabase)

copyTo

public void copyTo(Model targetModel)
Description copied from interface: Model
Copy non-null properties into target model instance. Child values are generally not copied. Used in conjunction with XML serialization to allow individual model instances to be custimized.

Specified by:
copyTo in interface Model
Overrides:
copyTo in class AbstractModel
Parameters:
targetModel - model to set properties on

allOwnedModels

public List<Model> allOwnedModels()
Description copied from interface: Model
This method is used by the visitor patterns to navigate the model tree hierarchy. It is provided to handle exceptional cases were the child instances are held in 2 or more collections (ie not all in childModels List) in which case it returns the union of the child collections. Most of the time it just calls getChildModles.

Specified by:
allOwnedModels in interface Model
Overrides:
allOwnedModels in class AbstractModel
Returns:
union of the child models.

createColumn

public Column createColumn()

addColumn

public Column addColumn(String name,
                        DbType dbType,
                        Object defaultValue,
                        Boolean notNull,
                        Boolean unique,
                        Integer columnSize,
                        Integer scale)

createPkColumn

public PkColumn createPkColumn()

addPkColumn

public PkColumn addPkColumn(String name,
                            DbType dbType,
                            Object defaultValue,
                            Boolean autoIncrement,
                            Integer columnSize,
                            Integer scale)

lookupColumn

public Column lookupColumn(String name)

getColumns

public List<Column> getColumns()

addColumn

public void addColumn(Column column)

createFkColumn

public FkConstraint createFkColumn()

addFkColumn

public void addFkColumn(FkConstraint fkConstraint)

lookupFkColumn

public FkConstraint lookupFkColumn(String name)

getFkColumns

public List<FkConstraint> getFkColumns()

setFkColumns

public void setFkColumns(List<FkConstraint> fkConstraints)

isLinkTable

public Boolean isLinkTable()
Default value if not set is false.


setLinkTable

public void setLinkTable(Boolean linkTable)

hasCompositeKey

public boolean hasCompositeKey()

getPrimaryKeys

public List<PkColumn> getPrimaryKeys()

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class AbstractModel


Copyright 2006-2006-2007 Outsource Cafe Inc.. All Rights Reserved.