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_ResourceInterface
25 *
26 * @access public
27 * @author Joel Bout, <joel.bout@tudor.lu>
28 * @package generis
29
30 */
31interface core_kernel_persistence_ResourceInterface
32{
33    // --- OPERATIONS ---
34
35    /**
36     * returns an array of types the ressource has
37     *
38     * @access public
39     * @author Joel Bout, <joel.bout@tudor.lu>
40     * @param  Resource resource
41     * @return array
42     */
43    public function getTypes(core_kernel_classes_Resource $resource);
44
45    /**
46     * Short description of method getPropertyValues
47     *
48     * @access public
49     * @author Joel Bout, <joel.bout@tudor.lu>
50     * @param  Resource resource
51     * @param  Property property
52     * @param  array options
53     * @return array
54     */
55    public function getPropertyValues(
56        core_kernel_classes_Resource $resource,
57        core_kernel_classes_Property $property,
58        $options = []
59    );
60
61    /**
62     * Short description of method getPropertyValuesByLg
63     *
64     * @access public
65     * @author Joel Bout, <joel.bout@tudor.lu>
66     * @param  Resource resource
67     * @param  Property property
68     * @param  string lg
69     * @return core_kernel_classes_ContainerCollection
70     */
71    public function getPropertyValuesByLg(
72        core_kernel_classes_Resource $resource,
73        core_kernel_classes_Property $property,
74        $lg
75    );
76
77    /**
78     * Short description of method setPropertyValue
79     *
80     * @access public
81     * @author Joel Bout, <joel.bout@tudor.lu>
82     * @param  Resource resource
83     * @param  Property property
84     * @param  string object
85     * @param  string lg
86     * @return boolean
87     */
88    public function setPropertyValue(
89        core_kernel_classes_Resource $resource,
90        core_kernel_classes_Property $property,
91        $object,
92        $lg = null
93    );
94
95    /**
96     * Short description of method setPropertiesValues
97     *
98     * @access public
99     * @author Joel Bout, <joel.bout@tudor.lu>
100     * @param  Resource resource
101     * @param  array properties
102     * @return boolean
103     */
104    public function setPropertiesValues(core_kernel_classes_Resource $resource, $properties);
105
106    /**
107     * Short description of method setPropertyValueByLg
108     *
109     * @access public
110     * @author Joel Bout, <joel.bout@tudor.lu>
111     * @param  Resource resource
112     * @param  Property property
113     * @param  string value
114     * @param  string lg
115     * @return boolean
116     */
117    public function setPropertyValueByLg(
118        core_kernel_classes_Resource $resource,
119        core_kernel_classes_Property $property,
120        $value,
121        $lg
122    );
123
124    /**
125     * Short description of method removePropertyValues
126     *
127     * @access public
128     * @author Joel Bout, <joel.bout@tudor.lu>
129     * @param  Resource resource
130     * @param  Property property
131     * @param  array options
132     * @return boolean
133     */
134    public function removePropertyValues(
135        core_kernel_classes_Resource $resource,
136        core_kernel_classes_Property $property,
137        $options = []
138    );
139
140    /**
141     * Short description of method removePropertyValueByLg
142     *
143     * @access public
144     * @author Joel Bout, <joel.bout@tudor.lu>
145     * @param  Resource resource
146     * @param  Property property
147     * @param  string lg
148     * @param  array options
149     * @return boolean
150     */
151    public function removePropertyValueByLg(
152        core_kernel_classes_Resource $resource,
153        core_kernel_classes_Property $property,
154        $lg,
155        $options = []
156    );
157
158    /**
159     * Short description of method getRdfTriples
160     *
161     * @access public
162     * @author Joel Bout, <joel.bout@tudor.lu>
163     * @param  Resource resource
164     * @return core_kernel_classes_ContainerCollection
165     */
166    public function getRdfTriples(core_kernel_classes_Resource $resource);
167
168    /**
169     * Short description of method getUsedLanguages
170     *
171     * @access public
172     * @author Joel Bout, <joel.bout@tudor.lu>
173     * @param  Resource resource
174     * @param  Property property
175     * @return array
176     */
177    public function getUsedLanguages(core_kernel_classes_Resource $resource, core_kernel_classes_Property $property);
178
179    /**
180     * Short description of method duplicate
181     *
182     * @access public
183     * @author Joel Bout, <joel.bout@tudor.lu>
184     * @param  Resource resource
185     * @param  array excludedProperties
186     * @return core_kernel_classes_Resource
187     */
188    public function duplicate(core_kernel_classes_Resource $resource, $excludedProperties = []);
189
190    /**
191     * Short description of method delete
192     *
193     * @access public
194     * @author Joel Bout, <joel.bout@tudor.lu>
195     * @param  Resource resource
196     * @param  boolean deleteReference
197     * @return boolean
198     */
199    public function delete(core_kernel_classes_Resource $resource, $deleteReference = false);
200
201    /**
202     * Short description of method getPropertiesValues
203     *
204     * @access public
205     * @author Joel Bout, <joel.bout@tudor.lu>
206     * @param  Resource resource
207     * @param  array properties
208     * @return array
209     */
210    public function getPropertiesValues(core_kernel_classes_Resource $resource, $properties);
211
212    /**
213     * Short description of method setType
214     *
215     * @access public
216     * @author Joel Bout, <joel.bout@tudor.lu>
217     * @param  Resource resource
218     * @param  Class class
219     * @return boolean
220     */
221    public function setType(core_kernel_classes_Resource $resource, core_kernel_classes_Class $class);
222
223    /**
224     * Short description of method removeType
225     *
226     * @access public
227     * @author Joel Bout, <joel.bout@tudor.lu>
228     * @param  Resource resource
229     * @param  Class class
230     * @return boolean
231     */
232    public function removeType(core_kernel_classes_Resource $resource, core_kernel_classes_Class $class);
233}