com.todoroo.andlib.data
Class Table

java.lang.Object
  extended by com.todoroo.andlib.sql.DBObject<SqlTable>
      extended by com.todoroo.andlib.sql.SqlTable
          extended by com.todoroo.andlib.data.Table
All Implemented Interfaces:
java.lang.Cloneable

public final class Table
extends SqlTable

Table class. Most fields are final, so methods such as as will clone the table when it returns.

Author:
Tim Su

Field Summary
 java.lang.Class<? extends AbstractModel> modelClass
           
 java.lang.String name
           
 
Constructor Summary
Table(java.lang.String name, java.lang.Class<? extends AbstractModel> modelClass)
           
Table(java.lang.String name, java.lang.Class<? extends AbstractModel> modelClass, java.lang.String alias)
           
 
Method Summary
 Table as(java.lang.String newAlias)
          Create a new join table based on this table, but with an alias
 Field field(Property<?> property)
          Create a field object based on the given property
 Property<?>[] getProperties()
          Reads a list of properties from model class by reflection
 
Methods inherited from class com.todoroo.andlib.sql.SqlTable
table
 
Methods inherited from class com.todoroo.andlib.sql.DBObject
equals, hasAlias, hashCode, toString, toStringInSelect
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

name

public final java.lang.String name

modelClass

public final java.lang.Class<? extends AbstractModel> modelClass
Constructor Detail

Table

public Table(java.lang.String name,
             java.lang.Class<? extends AbstractModel> modelClass)

Table

public Table(java.lang.String name,
             java.lang.Class<? extends AbstractModel> modelClass,
             java.lang.String alias)
Method Detail

getProperties

public Property<?>[] getProperties()
Reads a list of properties from model class by reflection

Returns:
property array

as

public Table as(java.lang.String newAlias)
Create a new join table based on this table, but with an alias

Overrides:
as in class DBObject<SqlTable>

field

public Field field(Property<?> property)
Create a field object based on the given property

Parameters:
property -
Returns: