Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | /** |
4 | * This program is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU General Public License |
6 | * as published by the Free Software Foundation; under version 2 |
7 | * of the License (non-upgradable). |
8 | * |
9 | * This program is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 | * GNU General Public License for more details. |
13 | * |
14 | * You should have received a copy of the GNU General Public License |
15 | * along with this program; if not, write to the Free Software |
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
17 | * |
18 | * Copyright (c) 2009-2012 (original work) Public Research Centre Henri Tudor (under the project TAO-SUSTAIN & TAO-DEV); |
19 | * |
20 | * |
21 | */ |
22 | |
23 | /** |
24 | * Short description of class core_kernel_persistence_ClassInterface |
25 | * |
26 | * @access public |
27 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
28 | * @package generis |
29 | |
30 | */ |
31 | interface core_kernel_persistence_ClassInterface extends core_kernel_persistence_ResourceInterface |
32 | { |
33 | // --- OPERATIONS --- |
34 | |
35 | /** |
36 | * Retrieve all subclass of the class |
37 | * |
38 | * @access public |
39 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
40 | * @param core_kernel_classes_Class $resource |
41 | * @param boolean recursive |
42 | * @return array |
43 | */ |
44 | public function getSubClasses(core_kernel_classes_Class $resource, $recursive = false); |
45 | |
46 | /** |
47 | * |
48 | * @access public |
49 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
50 | * @param core_kernel_classes_Class $resource |
51 | * @param core_kernel_classes_Class $iClass |
52 | * @return boolean |
53 | */ |
54 | public function setSubClassOf(core_kernel_classes_Class $resource, core_kernel_classes_Class $iClass); |
55 | |
56 | |
57 | /** |
58 | * check if the resource is a subclass of given parentClass |
59 | * |
60 | * @access public |
61 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
62 | * @param core_kernel_classes_Class resource |
63 | * @param core_kernel_classes_Class parentClass |
64 | * @return boolean |
65 | */ |
66 | public function isSubClassOf(core_kernel_classes_Class $resource, core_kernel_classes_Class $parentClass); |
67 | |
68 | /** |
69 | * retrieve parent Classes |
70 | * |
71 | * @access public |
72 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
73 | * @param core_kernel_classes_Class $resource |
74 | * @param boolean recursive |
75 | * @return array |
76 | */ |
77 | public function getParentClasses(core_kernel_classes_Class $resource, $recursive = false); |
78 | |
79 | /** |
80 | * retrieve properties |
81 | * |
82 | * @access public |
83 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
84 | * @param Resource $resource |
85 | * @param boolean recursive |
86 | * @return array |
87 | */ |
88 | public function getProperties(core_kernel_classes_Class $resource, $recursive = false); |
89 | |
90 | /** |
91 | * retrieve all instances |
92 | * |
93 | * @access public |
94 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
95 | * @param Resource $resource |
96 | * @param boolean recursive |
97 | * @param array params |
98 | * @return array |
99 | */ |
100 | public function getInstances(core_kernel_classes_Class $resource, $recursive = false, $params = []); |
101 | |
102 | /** |
103 | * Should not be called by application code, please use |
104 | * core_kernel_classes_ResourceFactory::create() |
105 | * or core_kernel_classes_Class::createInstanceWithProperties() |
106 | * instead |
107 | * |
108 | * Creates a new instance using the properties provided. |
109 | * May NOT contain additional types in the properties array |
110 | * |
111 | * |
112 | * @access public |
113 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
114 | * @param Resource resource |
115 | * @param string label |
116 | * @param string comment |
117 | * @param string uri |
118 | * @return core_kernel_classes_Resource |
119 | * @see core_kernel_classes_ResourceFactory |
120 | */ |
121 | public function createInstance(core_kernel_classes_Class $resource, $label = '', $comment = '', $uri = ''); |
122 | |
123 | /** |
124 | * Short description of method createSubClass |
125 | * |
126 | * @access public |
127 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
128 | * @param Resource resource |
129 | * @param string label |
130 | * @param string comment |
131 | * @param string uri |
132 | * @return core_kernel_classes_Class |
133 | */ |
134 | public function createSubClass(core_kernel_classes_Class $resource, $label = '', $comment = '', $uri = ''); |
135 | |
136 | /** |
137 | * Short description of method createProperty |
138 | * |
139 | * @access public |
140 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
141 | * @param core_kernel_classes_Class $resource |
142 | * @param string label |
143 | * @param string comment |
144 | * @param boolean isLgDependent |
145 | * @return core_kernel_classes_Property |
146 | */ |
147 | public function createProperty( |
148 | core_kernel_classes_Class $resource, |
149 | $label = '', |
150 | $comment = '', |
151 | $isLgDependent = false |
152 | ); |
153 | |
154 | /** |
155 | * Short description of method searchInstances |
156 | * |
157 | * @access public |
158 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
159 | * @param core_kernel_classes_Class $resource |
160 | * @param array propertyFilters |
161 | * @param array options |
162 | * @return array |
163 | */ |
164 | public function searchInstances(core_kernel_classes_Class $resource, $propertyFilters = [], $options = []); |
165 | |
166 | /** |
167 | * Short description of method countInstances |
168 | * |
169 | * @access public |
170 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
171 | * @param core_kernel_classes_Class $resource |
172 | * @param array propertyFilters |
173 | * @param array options |
174 | * @return Integer |
175 | */ |
176 | public function countInstances(core_kernel_classes_Class $resource, $propertyFilters = [], $options = []); |
177 | |
178 | /** |
179 | * Short description of method getInstancesPropertyValues |
180 | * |
181 | * @access public |
182 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
183 | * @param core_kernel_classes_Class $resource |
184 | * @param Property property |
185 | * @param array propertyFilters |
186 | * @param array options |
187 | * @return array |
188 | */ |
189 | public function getInstancesPropertyValues( |
190 | core_kernel_classes_Class $resource, |
191 | core_kernel_classes_Property $property, |
192 | $propertyFilters = [], |
193 | $options = [] |
194 | ); |
195 | |
196 | /** |
197 | * Should not be called by application code, please use |
198 | * core_kernel_classes_ResourceFactory::create() |
199 | * or core_kernel_classes_Class::createInstanceWithProperties() |
200 | * instead |
201 | * |
202 | * Creates a new instance using the properties provided. |
203 | * May NOT contain additional types in the properties array |
204 | * |
205 | * @access public |
206 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
207 | * @param core_kernel_classes_Class type |
208 | * @param array properties |
209 | * @return core_kernel_classes_Resource |
210 | * @see core_kernel_classes_ResourceFactory |
211 | */ |
212 | public function createInstanceWithProperties(core_kernel_classes_Class $type, $properties); |
213 | |
214 | /** |
215 | * Delete a collection of instances of the Class. |
216 | * |
217 | * @access public |
218 | * @author Jerome Bogaerts, <jerome.bogaerts@tudor.lu> |
219 | * @param Resource $resource The resource (class) on which to apply the deletion. |
220 | * @param array resources An array containing core_kernel_classes_Resource objects or URIs. |
221 | * @param boolean deleteReference If set to true, references to instances will be deleted accross the database. |
222 | * @return boolean |
223 | */ |
224 | public function deleteInstances(core_kernel_classes_Class $resource, $resources, $deleteReference = false); |
225 | |
226 | /** |
227 | * Changes class URI for all its properties and linked objects. |
228 | */ |
229 | public function updateUri(core_kernel_classes_Class $resource, string $newUri): void; |
230 | } |