* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class CompanyDatabaseWrapper extends BaseDatabaseWrapper {
+ /**
+ * Company instance
+ */
+ private $companyInstance = null;
+
// Constants for database tables
const DB_TABLE_COMPANY_DATA = "company";
const DB_TABLE_COMPANY_USER = "company_user";
/**
* Creates an instance of this wrapper class
*
+ * @param $companyInstance An instance of a generic company class or null if no specific
* @return $wrapperInstance An instance of this wrapper class
+ * @todo Find an interface which is suitable for all companies
*/
- public final static function createCompanyDatabaseWrapper () {
+ public final static function createCompanyDatabaseWrapper (ShippingCompany $companyInstance = null) {
// Create a new instance
$wrapperInstance = new CompanyDatabaseWrapper();
// Set (primary!) table name
$wrapperInstance->setTableName(self::DB_TABLE_COMPANY_DATA);
+ // Set the company instance if not null
+ if (!is_null($companyInstance)) {
+ $wrapperInstance->setCompanyInstance($companyInstance);
+ } // END - if
+
// Return the instance
return $wrapperInstance;
}
// Return the result
return $participates;
}
+
+ /**
+ * Setter for company instance
+ *
+ * @param $companyInstance An instance of a generic company
+ * @return void
+ * @todo Find an interface suitable for all types of companies
+ */
+ protected final function setCompanyInstance (ShippingCompany $companyInstance) {
+ $this->companyInstance = $companyInstance;
+ }
+
+ /**
+ * Getter for company instance
+ *
+ * @return $companyInstance An instance of a generic company
+ * @todo Find an interface suitable for all types of companies
+ */
+ public final function getCompanyInstance () {
+ return $this->companyInstance;
+ }
}
// [EOF]