Compiere 3.1

org.compiere.model
Class MTable

java.lang.Object
  extended by org.compiere.framework.PO
      extended by org.compiere.model.X_AD_Table
          extended by org.compiere.model.MTable
All Implemented Interfaces:
Serializable, Cloneable, Comparator<PO>, Evaluatee

public class MTable
extends X_AD_Table

Persistent Table Model

Version:
$Id: MTable.java,v 1.3 2006/07/30 00:58:04 jjanke Exp $
Author:
Jorg Janke
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.compiere.model.X_AD_Table
accessLevel, ACCESSLEVEL_AD_Reference_ID, ACCESSLEVEL_All, ACCESSLEVEL_Organization, ACCESSLEVEL_SystemOnly, ACCESSLEVEL_SystemPlusTenant, ACCESSLEVEL_TenantOnly, ACCESSLEVEL_TenantPlusOrganization, BASE_TABLE_ID_AD_Reference_ID, DATECOLUMN_ID_AD_Reference_ID, ENTITYTYPE_AD_Reference_ID, Model, PO_WINDOW_ID_AD_Reference_ID, REFERENCED_TABLE_ID_AD_Reference_ID, REPLICATIONTYPE_AD_Reference_ID, REPLICATIONTYPE_Local, REPLICATIONTYPE_Merge, REPLICATIONTYPE_Reference, SUBTABLETYPE_AD_Reference_ID, SUBTABLETYPE_Delta_System, SUBTABLETYPE_Delta_User, SUBTABLETYPE_History_Daily, SUBTABLETYPE_History_Each, Table_ID, Table_Name, updatedMS
 
Fields inherited from class org.compiere.framework.PO
ACCESSLEVEL_ALL, ACCESSLEVEL_CLIENT, ACCESSLEVEL_CLIENTORG, ACCESSLEVEL_ORG, ACCESSLEVEL_SYSTEM, ACCESSLEVEL_SYSTEMCLIENT, ENTITYTYPE_Dictionary, ENTITYTYPE_UserMaintained, I_ZERO, log, p_changeVO, p_info, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_ID
 
Constructor Summary
MTable(Ctx ctx, int AD_Table_ID, String trxName)
          Standard Constructor
MTable(Ctx ctx, ResultSet rs, String trxName)
          Load Constructor
 
Method Summary
protected  boolean afterDelete(boolean success)
          After Delete
protected  boolean afterSave(boolean newRecord, boolean success)
          After Save
protected  boolean beforeSave(boolean newRecord)
          Before Save
static MTable get(Ctx ctx, int AD_Table_ID)
          Get Table from Cache
static MTable get(Ctx ctx, String tableName)
          Get Table from Cache
static Class<?> getClass(String tableName)
          Get Persistency Class for Table
 MColumn getColumn(String columnName)
          Get Column
 MColumn[] getColumns(boolean requery)
          Get Columns
 MColumn[] getColumns(String entityType)
          Get Columns
 ArrayList<MTable> getDependentsDirect()
          Get Direct Dependent Tables
 HashMap<String,MTable> getDependentsTable(String entityType)
          Get Table Reference Dependent Tables
 ArrayList<MColumn> getFKs(boolean includeList)
          Get Columns which are Foreign Keys
 String[] getIdentifierColumns()
          Get User Identifier Columns of Table
 String[] getKeyColumns()
          Get Key Columns of Table (might be parent)
 String[] getKeyColumns(boolean withParents)
          Get Key Columns of Table
 PO getPO(Ctx ctx, int Record_ID, String trxName)
          Get PO Class Instance
 PO getPO(Ctx ctx, int Record_ID, String trxName, boolean newRecord)
          Get PO Class Instance
 PO getPO(Ctx ctx, Map<String,String> context)
          Get PO
 PO getPO(Ctx ctx, ResultSet rs, String trxName)
          Get PO Class Instance
 PO getPO(Ctx ctx, String whereClause, String trxName)
          Get PO Class Instance
 PO[] getPOs(Ctx ctx, String whereClause, String orderClause, String trxName)
          Get POs Class Instance
 String getSelectColumns()
          Get list of columns for SELECT statement.
 String getSQLCreate()
          Get SQL Create statement
 String getSQLCreate(boolean requery)
          Get SQL Create
static MTable[] getSubTables(Ctx ctx, int Base_Table_ID)
          Get Sub Tables
static String getTableName(Ctx ctx, int AD_Table_ID)
          Get Table Name
static MTable[] getTables(Ctx ctx, String entityType)
          Get all active Tables
static MTable[] getTables(Ctx ctx, String where, String entityType)
          Get all active Tables
static MTable[] getTablesByQuery(Ctx ctx, String sql)
          Get all active Tables with input sql
 String[] getUniqueIDColumns()
          Get Unique ID Columns of Table
 MViewComponent[] getViewComponent(boolean reload)
          Get MViewComponent Class Instances
 String getViewCreate(boolean requery)
          Get SQL Create View
 String getViewDrop()
          Get SQL Create View
 boolean isSingleKey()
          Table has a single Key
static void main(String[] args)
          Test
 String toString()
          String Representation
 
Methods inherited from class org.compiere.model.X_AD_Table
get_AccessLevel, getAccessLevel, getAD_Table_ID, getAD_Val_Rule_ID, getAD_Window_ID, getBase_Table_ID, getConstraintName, getDateColumn_ID, getDescription, getEntityType, getExportView, getHelp, getImportTable, getImportView, getKeyNamePair, getLoadSeq, getName, getPO_Window_ID, getReferenced_Table_ID, getReplicationType, getSubTableType, getTableName, initPO, isAccessLevelValid, isChangeLog, isDeleteable, isHighVolume, isReplicationTypeValid, isSecurityEnabled, isSubTableTypeValid, isView, setAccessLevel, setAD_Table_ID, setAD_Val_Rule_ID, setAD_Window_ID, setBase_Table_ID, setConstraintName, setDateColumn_ID, setDescription, setEntityType, setExportView, setHelp, setImportTable, setImportView, setIsChangeLog, setIsDeleteable, setIsHighVolume, setIsSecurityEnabled, setIsView, setLoadSeq, setName, setPO_Window_ID, setReferenced_Table_ID, setReplicationType, setSubTableType, setTableName
 
Methods inherited from class org.compiere.framework.PO
addAttachment, addAttachment, addError, beforeDelete, compare, convertToBigDecimal, convertToBoolean, convertToInt, convertToTimestamp, copy, copyValues, copyValues, createAttachment, delete_Accounting, delete, delete, dump, dump, equals, get_ChangeVO, get_ColumnCount, get_ColumnDescription, get_ColumnDisplayType, get_ColumnIndex, get_ColumnLabel, get_ColumnLookup, get_ColumnName, get_DisplayValue, get_EntityType, get_HashMap, get_ID, get_IDOld, get_Info, get_KeyColumns, get_Logger, get_Table_ID, get_Table_ID, get_TableName, get_Translation, get_TrxName, get_Value, get_Value, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_ValuesAsString, get_WhereClause, get_xmlDocument, get_xmlString, get_xmlString, getAD_Client_ID, getAD_Org_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, getVO, hashCode, insert_Accounting, is_Changed, is_KeyColumn, is_new, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, load, load, load, load, loadComplete, loadDefaults, loadSpecial, lock, save, save, saveNew_getID, saveNewInsertSQL, saveNewSpecial, saveUpdate, set_ChangeVO, set_ColumnUpdateable, set_CustomColumn, set_TrxName, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueString, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setContext, setCtx, setDocWorkflowMgr, setIsActive, setStandardDefaults, setUpdateable, setUpdatedBy, toStringX, unlock, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MTable

public MTable(Ctx ctx,
              int AD_Table_ID,
              String trxName)
Standard Constructor

Parameters:
ctx - context
AD_Table_ID - id
trxName - transaction

MTable

public MTable(Ctx ctx,
              ResultSet rs,
              String trxName)
Load Constructor

Parameters:
ctx - context
rs - result set
trxName - transaction
Method Detail

getTables

public static MTable[] getTables(Ctx ctx,
                                 String entityType)
Get all active Tables

Parameters:
ctx - context
entityType - optional entity Type ignored
Returns:
array of tables

getTables

public static MTable[] getTables(Ctx ctx,
                                 String where,
                                 String entityType)
Get all active Tables

Parameters:
ctx - context
where - where clause
entityType - optional entity type
Returns:
array of tables

getSubTables

public static MTable[] getSubTables(Ctx ctx,
                                    int Base_Table_ID)
Get Sub Tables

Parameters:
ctx - context
Base_Table_ID - base table
Returns:
array of tables

getTablesByQuery

public static MTable[] getTablesByQuery(Ctx ctx,
                                        String sql)
Get all active Tables with input sql

Parameters:
ctx - user context
sql - query to get the tables
Returns:
array of tables

get

public static MTable get(Ctx ctx,
                         int AD_Table_ID)
Get Table from Cache

Parameters:
ctx - context
AD_Table_ID - id
Returns:
MTable

get

public static MTable get(Ctx ctx,
                         String tableName)
Get Table from Cache

Parameters:
ctx - context
tableName - case insensitive table name
Returns:
Table or null

getTableName

public static String getTableName(Ctx ctx,
                                  int AD_Table_ID)
Get Table Name

Parameters:
ctx - context
AD_Table_ID - table
Returns:
tavle name

getClass

public static Class<?> getClass(String tableName)
Get Persistency Class for Table

Parameters:
tableName - table name
Returns:
class or null

getColumns

public MColumn[] getColumns(boolean requery)
Get Columns

Parameters:
requery - requery
Returns:
array of columns

getColumns

public MColumn[] getColumns(String entityType)
Get Columns

Parameters:
entityType -
Returns:
array of columns

getColumn

public MColumn getColumn(String columnName)
Get Column

Parameters:
columnName - (case insensitive)
Returns:
column if found

isSingleKey

public boolean isSingleKey()
Table has a single Key

Returns:
true if table has single key column

getKeyColumns

public String[] getKeyColumns()
Get Key Columns of Table (might be parent)

Returns:
key columns

getKeyColumns

public String[] getKeyColumns(boolean withParents)
Get Key Columns of Table

Parameters:
withParents - with parents
Returns:
key columns

getIdentifierColumns

public String[] getIdentifierColumns()
Get User Identifier Columns of Table

Returns:
key columns

getUniqueIDColumns

public String[] getUniqueIDColumns()
Get Unique ID Columns of Table

Returns:
key columns

getSelectColumns

public String getSelectColumns()
Get list of columns for SELECT statement. Handles virtual columns

Returns:
select columns

getFKs

public ArrayList<MColumn> getFKs(boolean includeList)
Get Columns which are Foreign Keys

Parameters:
includeList - include list entities
Returns:
array of FKs

getDependentsDirect

public ArrayList<MTable> getDependentsDirect()
Get Direct Dependent Tables

Returns:
list of dependent tables

getDependentsTable

public HashMap<String,MTable> getDependentsTable(String entityType)
Get Table Reference Dependent Tables

Parameters:
entityType - optional entity type
Returns:
map (fkColumnName,fkTable) of dependent tables

getPO

public PO getPO(Ctx ctx,
                int Record_ID,
                String trxName)
Get PO Class Instance

Parameters:
ctx - context for PO
Record_ID - record - 0 = new
trxName - transaction
Returns:
PO for Record or null

getPO

public PO getPO(Ctx ctx,
                int Record_ID,
                String trxName,
                boolean newRecord)
Get PO Class Instance

Parameters:
ctx - context for PO
Record_ID - record - loads valid 0 records if newRecord is false
trxName - transaction
newRecord - new record
Returns:
PO for Record or null

getPO

public PO getPO(Ctx ctx,
                ResultSet rs,
                String trxName)
Get PO Class Instance

Parameters:
ctx - context for PO
rs - result set
trxName - transaction
Returns:
PO for Record or null

getPO

public PO getPO(Ctx ctx,
                Map<String,String> context)
Get PO

Parameters:
ctx - general context for PO
context - record context
Returns:
PO

getPO

public PO getPO(Ctx ctx,
                String whereClause,
                String trxName)
Get PO Class Instance

Parameters:
ctx - context for PO
whereClause - where clause resulting in single record
trxName - transaction
Returns:
PO for Record or null

getPOs

public PO[] getPOs(Ctx ctx,
                   String whereClause,
                   String orderClause,
                   String trxName)
Get POs Class Instance

Parameters:
ctx - context for PO
whereClause - optional where clause
orderClause - optional order by
trxName - transaction
Returns:
PO for Record or null

beforeSave

protected boolean beforeSave(boolean newRecord)
Before Save

Overrides:
beforeSave in class PO
Parameters:
newRecord - new
Returns:
true

afterSave

protected boolean afterSave(boolean newRecord,
                            boolean success)
After Save

Overrides:
afterSave in class PO
Parameters:
newRecord - new
success - success
Returns:
success

afterDelete

protected boolean afterDelete(boolean success)
After Delete

Overrides:
afterDelete in class PO
Parameters:
success - success
Returns:
true if success

getSQLCreate

public String getSQLCreate()
Get SQL Create statement

Returns:
sql statement

getSQLCreate

public String getSQLCreate(boolean requery)
Get SQL Create

Parameters:
requery - refresh columns
Returns:
create table DDL

getViewDrop

public String getViewDrop()
Get SQL Create View

Parameters:
requery - refresh columns
Returns:
create create view DDL

getViewCreate

public String getViewCreate(boolean requery)
Get SQL Create View

Parameters:
requery - refresh columns
Returns:
create create view DDL

getViewComponent

public MViewComponent[] getViewComponent(boolean reload)
Get MViewComponent Class Instances

Parameters:
reload - boolean if it need to reload
Returns:
Array of MViewComponent or null

toString

public String toString()
String Representation

Overrides:
toString in class X_AD_Table
Returns:
info

main

public static void main(String[] args)
Test

Parameters:
args -

Compiere 3.1

Compiere® is a registered trademark of ComPiere, Inc. ©2004-2008 HumanFlash.com All rights reserved.