2 * Copyright (C) 2016, 2017 Roland Häder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation, either version 3 of the
7 * License, or (at your option) any later version.
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 Affero General Public License for more details.
14 * You should have received a copy of the GNU Affero General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.jjobs.beans.phone;
19 import java.io.Serializable;
20 import java.util.List;
21 import javax.ejb.Local;
22 import org.mxchange.jphone.events.fax.deleted.AdminDeletedFaxNumberEvent;
23 import org.mxchange.jphone.events.fax.updated.AdminUpdatedFaxNumberEvent;
24 import org.mxchange.jphone.events.landline.deleted.AdminDeletedLandLineNumberEvent;
25 import org.mxchange.jphone.events.landline.updated.AdminUpdatedLandLineNumberEvent;
26 import org.mxchange.jphone.events.mobile.deleted.AdminDeletedMobileNumberEvent;
27 import org.mxchange.jphone.events.mobile.updated.AdminUpdatedMobileNumberEvent;
28 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
29 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
30 import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
31 import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
32 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
33 import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
34 import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent;
35 import org.mxchange.jcontacts.events.landline.linked.ObservableAdminLinkedLandLineNumberEvent;
36 import org.mxchange.jcontacts.events.mobile.linked.ObservableAdminLinkedMobileNumberEvent;
39 * An interface for a request web controller (bean) for administrative phone
42 * @author Roland Häder<roland@mxchange.org>
45 public interface JobsPhoneWebApplicationController extends Serializable {
48 * Event observer for newly added users by adminstrator
50 * @param event Event being fired
52 void afterAdminAddedUserEvent (final ObservableAdminAddedUserEvent event);
55 * Observes events being fired when an administrator has added a new
58 * @param event Event being fired
60 void afterAdminAddedContactEvent (final ObservableAdminAddedContactEvent event);
63 * Observes events being fired when an administrator has deleted a fax
66 * @param event Event being fired
68 void afterAdminDeletedFaxNumberEvent (final AdminDeletedFaxNumberEvent event);
71 * Observes events being fired when an administrator has deleted a land-line
74 * @param event Event being fired
76 void afterAdminDeletedLandLineNumberEvent (final AdminDeletedLandLineNumberEvent event);
79 * Observes events being fired when an administrator has deleted a mobile
82 * @param event Event being fired
84 void afterAdminDeletedMobileNumberEvent (final AdminDeletedMobileNumberEvent event);
87 * Observes events being fired when an administrator has a linked a fax
90 * @param event Event being fired
92 void afterAdminLinkedFaxNumberEvent (final ObservableAdminLinkedFaxNumberEvent event);
95 * Observes events being fired when an administrator has a linked a
98 * @param event Event being fired
100 void afterAdminLinkedLandLineNumberEvent (final ObservableAdminLinkedLandLineNumberEvent event);
103 * Observes events being fired when an administrator has a linked a mobile
106 * @param event Event being fired
108 void afterAdminLinkedMobileNumberEvent (final ObservableAdminLinkedMobileNumberEvent event);
111 * Observes events being fired when an administrator has updated a fax
114 * @param event Event being fired
116 void afterAdminUpdatedFaxNumberEvent (final AdminUpdatedFaxNumberEvent event);
119 * Observes events being fired when an administrator has updated a land-line
122 * @param event Event being fired
124 void afterAdminUpdatedLandLineNumberEvent (final AdminUpdatedLandLineNumberEvent event);
127 * Observes events being fired when an administrator has updated a mobile
130 * @param event Event being fired
132 void afterAdminUpdatedMobileNumberEvent (final AdminUpdatedMobileNumberEvent event);
135 * Event observer for updated contact data by administrators
137 * @param event Updated contact data event
139 void afterAdminUpdatedContactDataEvent (final ObservableAdminUpdatedContactEvent event);
142 * Returns a list of all mobile numbers. For performance reasons, the
143 * controller (bean) should be application-scoped as from user to user
144 * nothing changes. And the controller's post-construct method should load
145 * all numbers and cache it in the controller.
147 * @return List of all mobile numbers
149 List<DialableMobileNumber> allMobileNumbers ();
152 * Returns a list of all fax numbers. For performance reasons, the
153 * controller (bean) should be application-scoped as from user to user
154 * nothing changes. And the controller's post-construct method should load
155 * all numbers and cache it in the controller.
157 * @return List of all fax numbers
159 List<DialableFaxNumber> allFaxNumbers ();
162 * Returns a list of all land-line numbers. For performance reasons, the
163 * controller (bean) should be application-scoped as from user to user
164 * nothing changes. And the controller's post-construct method should load
165 * all numbers and cache it in the controller.
167 * @return List of all land-line numbers
169 List<DialableLandLineNumber> allLandLineNumbers ();