Merge branch '6.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / data / IDatabaseObjectProcessor.class.php
CommitLineData
b522d4f1 1<?php
a9229942 2
b522d4f1
MW
3namespace wcf\data;
4
19d026b2
MS
5/**
6 * Default interface for DatabaseObject processors.
a9229942
TD
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>
19d026b2 11 */
a9229942
TD
12interface IDatabaseObjectProcessor
13{
14 /**
15 * Creates a new instance of a database object processor.
16 *
17 * @param DatabaseObject $object
18 */
19 public function __construct(DatabaseObject $object);
20
21 /**
22 * Delegates accesses to inaccessible object properties the processed object.
23 *
24 * @param string $name
25 * @return mixed
26 */
27 public function __get($name);
28
29 /**
30 * Delegates isset calls for inaccessible object properties to the processed
31 * object.
32 *
33 * @param string $name
34 * @return bool
35 */
36 public function __isset($name);
37
38 /**
39 * Delegates inaccessible method calls to the processed database object.
40 *
41 * @param string $name
42 * @param array $arguments
43 * @return mixed
44 */
45 public function __call($name, $arguments);
b522d4f1 46}