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) 2015 (original work) Open Assessment Technologies SA;
19 *
20 *
21 */
22
23namespace oat\taoDelivery\model\execution;
24
25use common_exception_NotFound;
26use core_kernel_classes_Resource;
27
28/**
29 * New interface for delivery executions
30 *
31 * @access public
32 * @author Joel Bout, <joel@taotesting.com>
33 * @package taoDelivery
34 */
35interface DeliveryExecutionInterface
36{
37    /**
38     * Indicates that a test-taker is currently taking a delivery
39     * @var string
40     */
41    public const STATE_ACTIVE = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStatusActive';
42
43    /**
44     * Indicates that a delivery is in progress, but the test-taker is not actively taking it
45     * @var string
46     */
47    public const STATE_PAUSED = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStatusPaused';
48
49    /**
50     * Indicates that a delivery has been finished successfully and the results should be considered
51     * @var string
52     */
53    public const STATE_FINISHED = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStatusFinished';
54
55    /**
56     * @deprecated
57     */
58    public const STATE_FINISHIED = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStatusFinished';
59
60    /**
61     * Indicates that a delivery has been terminated and the results might not be valid
62     * @var string
63     */
64    public const STATE_TERMINATED = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStatusTerminated';
65
66    public const CLASS_URI = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecution';
67
68    public const PROPERTY_DELIVERY = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionDelivery';
69
70    public const PROPERTY_SUBJECT = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionSubject';
71
72    public const PROPERTY_TIME_START = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionStart';
73
74    public const PROPERTY_TIME_END = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionEnd';
75
76    public const PROPERTY_STATUS = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#StatusOfDeliveryExecution';
77
78    public const PROPERTY_METADATA = 'http://www.tao.lu/Ontologies/TAODelivery.rdf#DeliveryExecutionMetadata';
79
80    /**
81     * Returns the identifier of the delivery execution
82     *
83     * @throws common_exception_NotFound
84     * @return string
85     */
86    public function getIdentifier();
87
88    /**
89     * Returns a human readable test representation of the delivery execution
90     * Should respect the current user's language
91     *
92     * @throws common_exception_NotFound
93     * @return string
94     */
95    public function getLabel();
96
97    /**
98     * Returns when the delivery execution was started
99     *
100     * @throws common_exception_NotFound
101     * @return string
102     */
103    public function getStartTime();
104
105    /**
106     * Returns when the delivery execution was finished
107     * or null if not yet finished
108     *
109     * @throws common_exception_NotFound
110     * * @return string | null if the execution is not yet finished
111     */
112    public function getFinishTime();
113
114    /**
115     * Returns the delivery execution state as resource
116     *
117     * @throws common_exception_NotFound
118     * @return core_kernel_classes_Resource
119     */
120    public function getState();
121
122    /**
123     *
124     * @param string $state
125     * @return boolean success
126     */
127    public function setState($state);
128
129    /**
130     * Returns the delivery execution delivery as resource
131     *
132     * @throws common_exception_NotFound
133     * @return core_kernel_classes_Resource
134     */
135    public function getDelivery();
136
137    /**
138     * Returns the delivery executions user identifier
139     *
140     * @throws common_exception_NotFound
141     * @return string
142     */
143    public function getUserIdentifier();
144}