<?php /** * DataObjectInterface is an interface that other data systems in your application can implement in order to behave in * a manner similar to DataObject. * * In addition to the methods defined below, the data of the object should be directly accessible as fields. * @package framework * @subpackage model */ interface DataObjectInterface { /** * Create a new data object, not yet in the database. To load an object into the database, a null object should be * constructed, its fields set, and the write() method called. */ public function __construct(); /** * Perform a search query on this data source * * @param $filter A filter expression of some kind, in SQL format. * @param $sort A sort expression, in SQL format. * @param $join A join expression. May or may not be relevant. * @param $limit A limit expression, either "(count)", or "(start), (count)" */ public function instance_get($filter = "", $sort = "", $join = "", $limit = "", $containerClass = "DataObjectSet"); /** * Retrieve a single record from this data source * * @param $filter A filter expression of some kind, in SQL format. * @param $sort A sort expression, in SQL format. * @param $join A join expression. May or may not be relevant. * @param $limit A limit expression, either "(count)", or "(start), (count)" */ public function instance_get_one($filter, $sort = ""); /** * Write the current object back to the database. It should know whether this is a new object, in which case this * would be an insert command, or if this is an existing object queried from the database, in which case thes would * be */ public function write(); /** * Remove this object from the database. Doesn't do anything if this object isn't in the database. */ public function delete(); /** * Get the named field. * This function is sometimes called explicitly by the form system, so you need to define it, even if you use the * default field system. */ public function __get($fieldName); /** * Save content from a form into a field on this data object. * Since the data comes straight from a form it can't be trusted and will need to be validated / escaped.' */ public function setCastedField($fieldName, $val); }