Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://moodle.org/
3
//
4
// Moodle is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// Moodle 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 Moodle.  If not, see <http://www.gnu.org/licenses/>.
16
 
17
/**
18
 * Calendar event interface.
19
 *
20
 * @package    core_calendar
21
 * @copyright  2017 Cameron Ball <cameron@cameron1729.xyz>
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
namespace core_calendar\local\event\entities;
26
 
27
use core_calendar\local\event\proxies\proxy_interface;
28
 
29
defined('MOODLE_INTERNAL') || die();
30
 
31
/**
32
 * Interface for an event class.
33
 *
34
 * @copyright  2017 Cameron Ball <cameron@cameron1729.xyz>
35
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
36
 */
37
interface event_interface {
38
    /**
39
     * Get the event's ID.
40
     *
41
     * @return integer
42
     */
43
    public function get_id();
44
 
45
    /**
46
     * Get the event's name.
47
     *
48
     * @return string
49
     */
50
    public function get_name();
51
 
52
    /**
53
     * Get the event's description.
54
     *
55
     * @return description_interface
56
     */
57
    public function get_description();
58
 
59
    /**
60
     * Get the event's location.
61
     *
62
     * @return location_interface
63
     */
64
    public function get_location();
65
 
66
    /**
67
     * Get the category object associated with the event.
68
     *
69
     * @return proxy_interface
70
     */
71
    public function get_category();
72
 
73
    /**
74
     * Get the course object associated with the event.
75
     *
76
     * @return proxy_interface
77
     */
78
    public function get_course();
79
 
80
    /**
81
     * Get the course module object that created the event.
82
     *
83
     * @return proxy_interface
84
     */
85
    public function get_course_module();
86
 
87
    /**
88
     * Get the group object associated with the event.
89
     *
90
     * @return proxy_interface
91
     */
92
    public function get_group();
93
 
94
    /**
95
     * Get the user object associated with the event.
96
     *
97
     * @return proxy_interface
98
     */
99
    public function get_user();
100
 
101
    /**
102
     * Get the event's type.
103
     *
104
     * @return string
105
     */
106
    public function get_type();
107
 
108
    /**
109
     * Get the times associated with the event.
110
     *
111
     * @return times_interface
112
     */
113
    public function get_times();
114
 
115
    /**
116
     * Get repeats of this event or null if the event has no
117
     * repeats.
118
     *
119
     * @return event_collection_interface|null
120
     */
121
    public function get_repeats();
122
 
123
    /**
124
     * Get the event's subscription.
125
     *
126
     * @return proxy_interface
127
     */
128
    public function get_subscription();
129
 
130
    /**
131
     * Get the event's visibility.
132
     *
133
     * @return bool true if the event is visible, false otherwise
134
     */
135
    public function is_visible();
136
 
137
    /**
138
     * Resolved event component (frankenstyle name of activity module or the component)
139
     * @return string|null
140
     */
141
    public function get_component();
142
}