]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / contact / JobsContactWebSessionController.java
index 811e4db8f3f76902db1290c95779a84cbb66a1c6..468d962a5ae8dc7d8549ed435c23b2e9e6bf362f 100644 (file)
@@ -19,62 +19,95 @@ package org.mxchange.jjobs.beans.contact;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
+import javax.ejb.Local;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.gender.Gender;
+import org.mxchange.jcontacts.events.contact.add.AdminAddedContactEvent;
+import org.mxchange.jcontacts.events.contact.deleted.AdminDeletedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent;
+import org.mxchange.jcontacts.events.fax.unlinked.AdminUnlinkedFaxNumberEvent;
+import org.mxchange.jcontacts.events.landline.unlinked.AdminUnlinkedLandLineNumberEvent;
+import org.mxchange.jcontacts.events.mobile.unlinked.AdminUnlinkedMobileNumberEvent;
 import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
 import org.mxchange.jcountry.data.Country;
+import org.mxchange.jphone.events.mobile.remove.AdminRemoveMobileNumberFromListEvent;
 import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider;
+import org.mxchange.jusercore.events.confirmation.UserConfirmedAccountEvent;
 import org.mxchange.jusercore.events.login.UserLoggedInEvent;
 import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
 import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent;
+import org.mxchange.jusercore.events.user.linked.AdminLinkedUserEvent;
 
 /**
  * An interface for user beans
  * <p>
  * @author Roland Haeder<roland@mxchange.org>
  */
+@Local
 public interface JobsContactWebSessionController extends Serializable {
 
        /**
-        * Minimum password length
+        * Returns a list of all found contacts
+        * <p>
+        * @return A list of all contacts.
         */
-       public static final Integer MINIMUM_PASSWORD_LENGTH = 5;
+       List<Contact> allContacts ();
 
        /**
-        * Returns a list of all found contacts
+        * Event observer for newly added users by adminstrator
         * <p>
-        * @return A list of all contacts.
+        * @param event Event being fired
         */
-       List<Contact> allContacts();
+       void afterAdminAddedUserEvent (final AdminAddedUserEvent event);
 
        /**
-        * Checks whether there are contacts.
+        * Event observer for deleted contact instance by administrator
         * <p>
-        * @return Whether contacts are there
+        * @param event Event being fired
         */
-       boolean hasContacts ();
+       void afterAdminDeletedContactEvent (final AdminDeletedContactEvent event);
 
        /**
-        * Event observer for newly added users by adminstrator
+        * Event observer for unlinked fax contact by administrators
+        * <p>
+        * @param event Unlinked fax contact event
+        */
+       void afterAdminUnlinkedFaxContactDataEvent (final AdminUnlinkedFaxNumberEvent event);
+
+       /**
+        * Event observer for unlinked land-line contact by administrators
+        * <p>
+        * @param event Unlinked land-line contact event
+        */
+       void afterAdminUnlinkedLandLineContactDataEvent (final AdminUnlinkedLandLineNumberEvent event);
+
+       /**
+        * Event observer for unlinked mobile contact by administrators
+        * <p>
+        * @param event Unlinked mobile contact event
+        */
+       void afterAdminUnlinkedMobileContactDataEvent (final AdminUnlinkedMobileNumberEvent event);
+
+       /**
+        * Event observer when user confirmed account.
         * <p>
         * @param event Event being fired
         */
-       void afterAdminAddedUserEvent (final AdminAddedUserEvent event);
+       void afterUserConfirmedAccountEventEvent (final UserConfirmedAccountEvent event);
 
        /**
-        * Updates all data from bean in given contact instance
+        * Event observer when a list with unused mobile numbers is being created
         * <p>
-        * @param userContact Contact instance to update
+        * @param event Event being fired
         */
-       void updateContactDataFromController (final Contact userContact);
+       void removeMobileNumberFromListEvent(final AdminRemoveMobileNumberFromListEvent event);
 
        /**
-        * Adds given email address to list
+        * Updates all data from bean in given contact instance
         * <p>
-        * @param contactEmailAddress Email address to add
+        * @param userContact Contact instance to update
         */
-       void addEmailAddress (final String contactEmailAddress);
+       void updateContactDataFromController (final Contact userContact);
 
        /**
         * Tries to lookup contact by given id number. If the user is not found a
@@ -93,10 +126,26 @@ public interface JobsContactWebSessionController extends Serializable {
         * <p>
         * @param event User registration event
         */
-       void afterRegistrationEvent (final UserRegisteredEvent event);
+       void afterUserRegistrationEvent (final UserRegisteredEvent event);
+
+       /**
+        * Observes events being fired when an administrator has added a new
+        * contact.
+        * <p>
+        * @param event Event being fired
+        */
+       void afterAdminAddedContactEvent (final AdminAddedContactEvent event);
 
        /**
-        * Event observer for updated contact data by admins
+        * Observes events being fired when an administrator has linked a new user
+        * with existing contact data.
+        * <p>
+        * @param event Event being fired
+        */
+       void afterAdminLinkedUserEvent (final AdminLinkedUserEvent event);
+
+       /**
+        * Event observer for updated contact data by administrators
         * <p>
         * @param event Updated contact data event
         */
@@ -107,7 +156,7 @@ public interface JobsContactWebSessionController extends Serializable {
         * <p>
         * @param event Event instance
         */
-       void afterUserLogin (final UserLoggedInEvent event);
+       void afterUserLoginEvent (final UserLoggedInEvent event);
 
        /**
         * Creates an instance from all properties
@@ -131,32 +180,32 @@ public interface JobsContactWebSessionController extends Serializable {
        void setBirthday (final Date birthday);
 
        /**
-        * Getter for ellphone number's carrier
+        * Getter for mobile provider
         * <p>
-        * @return Cellphone number's carrier
+        * @return Mobile provider
         */
-       MobileProvider getCellphoneCarrier ();
+       MobileProvider getMobileProvider ();
 
        /**
-        * Setter for cellphone number's carrier prefix
+        * Setter for mobile provider
         * <p>
-        * @param cellphoneCarrier Cellphone number's carrier prefix
+        * @param mobileProvider Mobile provider
         */
-       void setCellphoneCarrier (final MobileProvider cellphoneCarrier);
+       void setMobileProvider (final MobileProvider mobileProvider);
 
        /**
-        * Getter for ellphone number
+        * Getter for mobile number
         * <p>
-        * @return Cellphone number
+        * @return Mobile number
         */
-       Long getCellphoneNumber ();
+       Long getMobileNumber ();
 
        /**
-        * Setter for ellphone number
+        * Setter for mobile number
         * <p>
-        * @param cellphoneNumber Cellphone number
+        * @param mobileNumber Mobile number
         */
-       void setCellphoneNumber (final Long cellphoneNumber);
+       void setMobileNumber (final Long mobileNumber);
 
        /**
         * City
@@ -326,47 +375,62 @@ public interface JobsContactWebSessionController extends Serializable {
         */
        void setHouseNumber (final Short houseNumber);
 
+       /**
+        * Getter for house number extension, example: 123a 'a' is then the
+        * extension and 123 is the house number.
+        * <p>
+        * @return House number extension
+        */
+       String getHouseNumberExtension ();
+
+       /**
+        * Setter for house number extension
+        * <p>
+        * @param houseNumberExtension House number extension
+        */
+       void setHouseNumberExtension (final String houseNumberExtension);
+
        /**
         * Getter for phone number's area code
         * <p>
         * @return Phone number's area code
         */
-       Integer getPhoneAreaCode ();
+       Integer getLandLineAreaCode ();
 
        /**
         * Setter for phone number's area code
         * <p>
         * @param phoneAreaCode Phone number's area code
         */
-       void setPhoneAreaCode (final Integer phoneAreaCode);
+       void setLandLineAreaCode (final Integer phoneAreaCode);
 
        /**
         * Getter for phone number's country instance
         * <p>
         * @return Phone number's country instance
         */
-       Country getPhoneCountry ();
+       Country getLandLineCountry ();
 
        /**
         * Setter for phone number's country instance
         * <p>
         * @param phoneCountry Phone number's country instance
         */
-       void setPhoneCountry (final Country phoneCountry);
+       void setLandLineCountry (final Country phoneCountry);
 
        /**
         * Getter for phone number
         * <p>
         * @return Phone number
         */
-       Long getPhoneNumber ();
+       Long getLandLineNumber ();
 
        /**
         * Setter for phone number
         * <p>
         * @param phoneNumber Phone number
         */
-       void setPhoneNumber (final Long phoneNumber);
+       void setLandLineNumber (final Long phoneNumber);
 
        /**
         * Street
@@ -382,6 +446,20 @@ public interface JobsContactWebSessionController extends Serializable {
         */
        void setStreet (final String street);
 
+       /**
+        * Titöe
+        * <p>
+        * @return the title
+        */
+       String getTitle ();
+
+       /**
+        * Title
+        * <p>
+        * @param title the title to set
+        */
+       void setTitle (final String title);
+
        /**
         * ZIP code
         * <p>
@@ -396,6 +474,23 @@ public interface JobsContactWebSessionController extends Serializable {
         */
        void setZipCode (final Integer zipCode);
 
+       /**
+        * Getter for controller type
+        * <p>
+        * @return controller type
+        */
+       String getControllerType ();
+
+       /**
+        * Setter for controller type
+        * <p>
+        * @param controllerType Controller type
+        *
+        * @deprecated Don't use this method.
+        */
+       @Deprecated
+       void setControllerType (final String controllerType);
+
        /**
         * Checks whether contact instance's email address is used
         * <p>
@@ -434,4 +529,12 @@ public interface JobsContactWebSessionController extends Serializable {
         */
        String doChangePersonalContactData ();
 
+       /**
+        * Returns a list of all selectable contacts for user creation. Contacts
+        * from already existing users are excluded in this list.
+        * <p>
+        * @return A list of all selectable contacts
+        */
+       List<Contact> selectableContacts ();
+
 }