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) 2013 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
19 *
20 */
21
22interface taoResultServer_models_classes_ReadableResultStorage
23{
24    /**
25     * get the complete variables list stored for a call id (item or test)
26     * @param string|array $callId an execution identifier
27     * @return array that contains the variables related to the call id
28     * Array
29     *(
30     *   [uri] => Array
31     *   (
32     *       [0] => stdClass Object
33     *       (
34     *           [uri] => uri
35     *           [class] => taoResultServer_models_classes_ResponseVariable
36     *           [deliveryResultIdentifier] => http://tao.localdomain:8888/tao.rdf#i14176019092304877
37     *           [callIdItem] => http://tao.localdomain:8888/tao.rdf#i14176019092304877.item-1.0
38     *           [callIdTest] =>
39     *           [test] => http://tao.localdomain:8888/tao.rdf#i14175986702737865-
40     *           [item] => http://tao.localdomain:8888/tao.rdf#i141631732273405
41     *           [variable] => taoResultServer_models_classes_ResponseVariable Object
42     *           (
43     *               [correctResponse] =>
44     *               [candidateResponse] => MQ==
45     *               [identifier] => numAttempts
46     *               [cardinality] => single
47     *               [baseType] => integer
48     *               [epoch] => 0.28031200 1417601924
49     *           )
50     *
51     *       )
52     *
53     *   )
54     *
55     *   [uri2] => Array
56     *   (
57     *       [0] => stdClass Object
58     *       (
59     *           [uri] => uri2
60     *           [class] => taoResultServer_models_classes_OutcomeVariable
61     *           [deliveryResultIdentifier] => http://tao.localdomain:8888/tao.rdf#i14176019092304877
62     *           [callIdItem] => http://tao.localdomain:8888/tao.rdf#i14176019092304877.item-1.0
63     *           [callIdTest] =>
64     *           [test] => http://tao.localdomain:8888/tao.rdf#i14175986702737865-
65     *           [item] => http://tao.localdomain:8888/tao.rdf#i141631732273405
66     *           [variable] => taoResultServer_models_classes_OutcomeVariable Object
67     *           (
68     *               [normalMaximum] =>
69     *               [normalMinimum] =>
70     *               [value] => Y29tcGxldGVk
71     *               [identifier] => completionStatus
72     *               [cardinality] => single
73     *               [baseType] => identifier
74     *               [epoch] => 0.28939600 1417601924
75     *           )
76     *
77     *       )
78     *
79     *   )
80     *
81     *)
82     */
83    public function getVariables($callId);
84
85    /**
86     * Get The variable that match params
87     * @param string $callId an execution identifier
88     * @param string $variableIdentifier the identifier of the variable
89     * @return array variable that match call id and variable identifier
90     * Array
91     *(
92     *   [uri] => Array
93     *   (
94     *       [0] => stdClass Object
95     *       (
96     *           [uri] => uri
97     *           [class] => taoResultServer_models_classes_OutcomeVariable
98     *           [deliveryResultIdentifier] => MyDeliveryResultIdentifier#1
99     *           [callIdItem] => MyCallId#2
100     *           [callIdTest] =>
101     *           [test] => MyGreatTest#2
102     *           [item] => MyGreatItem#2
103     *           [variable] => taoResultServer_models_classes_OutcomeVariable Object
104     *           (
105     *               [normalMaximum] =>
106     *               [normalMinimum] =>
107     *               [value] => TXlWYWx1ZQ==
108     *               [identifier] => Identifier
109     *               [cardinality] => multiple
110     *               [baseType] => float
111     *               [epoch] => 0.58277800 1417621663
112     *           )
113     *
114     *       )
115     *
116     *   )
117     *
118     *)
119     */
120    public function getVariable($callId, $variableIdentifier);
121
122    /**
123     * Get the test taker id related to one specific delivery execution
124     * @param string $deliveryResultIdentifier the identifier of the delivery execution
125     * @return string the uri of the test taker related to the delivery execution
126     */
127    public function getTestTaker($deliveryResultIdentifier);
128
129
130    /**
131     * Get the delivery id related to one specific delivery execution
132     * @param string $deliveryResultIdentifier the identifier of the delivery execution
133     * @return string the uri of the delivery related to the delivery execution
134     */
135    public function getDelivery($deliveryResultIdentifier);
136
137    /**
138     * Get the entire list of call ids that are stored (item or test)
139     * @return array the list of executions ids (across all results)
140     */
141    public function getAllCallIds();
142
143    /**
144     * get all the ids of test taker that have attempt a test
145     * @return array of all test taker ids array(array('deliveryResultIdentifier' => 123, 'testTakerIdentifier' => 456))
146     */
147    public function getAllTestTakerIds();
148
149    /**
150     * get all the ids of delivery that are stored
151     * @return array of all delivery ids array(array('deliveryResultIdentifier' => 123, 'deliveryIdentifier' => 456))
152     */
153    public function getAllDeliveryIds();
154}