Add EmailLogListPage
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / data / IDatabaseObjectProcessor.class.php
1 <?php
2
3 namespace wcf\data;
4
5 /**
6 * Default interface for DatabaseObject processors.
7 *
8 * @author Marcel Werk
9 * @copyright 2001-2019 WoltLab GmbH
10 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
11 * @package WoltLabSuite\Core\Data
12 */
13 interface IDatabaseObjectProcessor
14 {
15 /**
16 * Creates a new instance of a database object processor.
17 *
18 * @param DatabaseObject $object
19 */
20 public function __construct(DatabaseObject $object);
21
22 /**
23 * Delegates accesses to inaccessible object properties the processed object.
24 *
25 * @param string $name
26 * @return mixed
27 */
28 public function __get($name);
29
30 /**
31 * Delegates isset calls for inaccessible object properties to the processed
32 * object.
33 *
34 * @param string $name
35 * @return bool
36 */
37 public function __isset($name);
38
39 /**
40 * Delegates inaccessible method calls to the processed database object.
41 *
42 * @param string $name
43 * @param array $arguments
44 * @return mixed
45 */
46 public function __call($name, $arguments);
47 }