public BaseTable returnBaseTable ( BaseTable table ) { Record record = table . getRecord ( ) ; int iRawDBType = ( record . getDatabaseType ( ) & DBConstants . TABLE_TYPE_MASK ) ; if ( ( iRawDBType == DBConstants . LOCAL ) || ( iRawDBType == DBConstants . REMOTE ) || ( iRawDBType == DBConstants . TABLE ) ) if ( ( this . getMasterSlave ( ) & RecordOwner . SLAVE ) == RecordOwner . SLAVE ) // Do this at the server only { if ( ( record . getDatabaseType ( ) & DBConstants . LOCALIZABLE ) == DBConstants . LOCALIZABLE ) { m_databaseLocale = this . makeDBLocale ( record , m_databaseLocale ) ; // Check the local database to make sure it is correct if ( m_databaseLocale != this ) { table . setRecord ( null ) ; table . free ( ) ; // Don't need this for base access table = m_databaseLocale . makeTable ( record ) ; } } } return table ; // Base table (special) access }
Return the base table for this record . This is very specialized logic for exporting and importing only the base file . Further this logic will return the localized version of the file if language = xxx is set for the client .