org.exoplatform.contact.service
Interface ContactService

All Superinterfaces:
ContactServiceLegacy
All Known Implementing Classes:
ContactServiceImpl

public interface ContactService
extends ContactServiceLegacy

Created by The eXo Platform SARL Author : Hung Nguyen Quang hung.nguyen@exoplatform.com Jul 11, 2007


Method Summary
 void addTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.util.List<Tag> tags)
          this method allow add some tags for some contacts
 void addTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.lang.String tagId)
          this method allow add an exist tag to some contacts
 void addUserContactInAddressBook(java.lang.String userId, java.lang.String addressBookId)
          Add a user's own contact to an address book
 java.util.List<java.lang.String> getAllsPublicAddressBookIds(java.lang.String user)
          Use this method to get all public AddressBookIds corresponding to groups that the user has the permission to view (including groups in which the user has at least one membership).
 Contact getContact(java.lang.String owner, java.lang.String contactId)
          Get a personal contact for a given owner
 ContactImportExport getContactImportExports(java.lang.String type)
          this method allow get a object used to import, export contacts
 DataPageList getContactPageListByTag(java.lang.String username, java.lang.String tagId)
          this method will get contacts by a specific tag
 java.util.List<java.lang.String> getEmailsByAddressBook(java.lang.String username, java.lang.String addressBookId)
          Get all email addresses of contacts in a personal address book
 java.util.List<AddressBook> getGroups(java.lang.String username)
          get all personal address books of user
 java.lang.String[] getImportExportType()
          get type of import, export formats, for example : x-vcard
 AddressBook getPersonalAddressBook(java.lang.String owner, java.lang.String addressBookID)
          Get a personal address book by ID
 java.util.List<Contact> getPersonalContacts(java.lang.String username)
          get all contacts in all personal address books that belong to current user
 ContactPageList getPersonalContactsByAddressBook(java.lang.String username, java.lang.String addressBookId)
          get contact page list in a specific personal address book
 ContactPageList getPersonalContactsByFilter(java.lang.String username, ContactFilter filter)
          Get personal contacts by filter
 java.util.List<java.lang.String> getPublicAddressBookIdsOfUser(java.lang.String user)
          use this method to look all public AddressBookIds corresponding to groups in which the user has at least one membership.
 Contact getPublicContact(java.lang.String userId)
          Get the public contact for a given user Id
 ContactPageList getPublicContactsByAddressBook(java.lang.String addressBookId)
          get contact page list of public address book specific by id of address book
 ContactPageList getPublicContactsByFilter(java.lang.String username, ContactFilter filter)
          Get public contacts by filter
 AddressBook getSharedAddressBook(java.lang.String username, java.lang.String addressBookId)
          Get a shared address book by ID for a given user
 java.util.List<SharedAddressBook> getSharedAddressBooks(java.lang.String username)
          Get address books that are shared (by others) to a given user
 Contact getSharedContact(java.lang.String username, java.lang.String contactId)
          when a user is shared contact by another user then this user can get contact info base on id of shared contact
 Contact getSharedContactAddressBook(java.lang.String username, java.lang.String contactId)
          user can get a contact in a shared address book by id of contact
 DataPageList getSharedContacts(java.lang.String username)
          get all contacts shared by any user for current user
 ContactPageList getSharedContactsByAddressBook(java.lang.String username, SharedAddressBook addressBook)
          when a user has a shared address book from another user then shared user can view contacts in this shared address book
 ContactPageList getSharedContactsByFilter(java.lang.String username, ContactFilter filter)
          Get shared contacts by filter
 Tag getTag(java.lang.String username, java.lang.String tagId)
          user can get a specific tag base on id of tag
 java.util.List<Tag> getTags(java.lang.String username)
          this method will get all tags that user has been added
 void moveContacts(java.lang.String username, java.util.List<Contact> contacts, java.lang.String addressType)
          move contacts to another address books
 void pasteAddressBook(java.lang.String username, java.lang.String srcAddress, java.lang.String srcType, java.lang.String destAddress, java.lang.String destType)
          user can copy all contacts in a address book and paste them to another address book
 java.util.List<Contact> pasteContacts(java.lang.String username, java.lang.String destAddress, java.lang.String destType, java.util.Map<java.lang.String,java.lang.String> contactsMap)
          this method allow add contacts list to a address book
 void registerNewUser(org.exoplatform.services.organization.User user, boolean isNew)
          save default address and default contact of new user
 AddressBook removeAddressBook(java.lang.String username, java.lang.String addressBookId)
          Remove a personal address book
 java.util.List<Contact> removeContacts(java.lang.String owner, java.util.List<java.lang.String> contactIds)
          Remove several personal contacts
 void removeContactTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.util.List<java.lang.String> tags)
          this method allow remove tags info in some contacts but don't remove tags
 void removeSharedContact(java.lang.String username, java.lang.String addressBookId, java.lang.String contactId)
          remove contact in a address book which was shared for current user
 Tag removeTag(java.lang.String username, java.lang.String tagId)
          user can remove an exist tag base on tagId
 void removeUserShareContact(java.lang.String username, java.lang.String contactId, java.lang.String removedUser)
          remove view permission of user shared contact
 void saveAddress(java.lang.String username, java.lang.String emailAddress)
          save collected email addresses
 void saveAddressBook(java.lang.String username, AddressBook addressBook, boolean isNew)
          Save a personal or shared address book.
 void saveContact(java.lang.String owner, Contact contact, boolean isNew)
          Save a contact to a personal address book
 void saveContactToSharedAddressBook(java.lang.String username, java.lang.String addressBookId, Contact contact, boolean isNew)
          if user has edit permission on a shared address book then this user can save a contact to this address book
 void saveSharedContact(java.lang.String username, Contact contact)
          user can edit a shared contact and save to database
 DataPageList searchContact(java.lang.String username, ContactFilter filter)
          search all contacts with some properties equals ContactFilter properties.
 java.util.Map<java.lang.String,java.lang.String> searchEmails(java.lang.String username, ContactFilter filter)
          get id, name, email of contacts base on properties of ContactFilter
 void shareAddressBook(java.lang.String username, java.lang.String addressBookId, java.util.List<java.lang.String> receiverUsers)
          Share a personal address book with other users.
 void shareContact(java.lang.String username, java.lang.String[] contactIds, java.util.List<java.lang.String> receiveUsers)
          share some contacts to another users
 void unshareAddressBook(java.lang.String owner, java.lang.String addressBookId, java.lang.String unsharedUser)
          Un-share an address book with another user
 void updateTag(java.lang.String username, Tag tag)
          user can edit a tag and save to database
 
Methods inherited from interface org.exoplatform.contact.service.ContactServiceLegacy
addGroupToPersonalContact, addTag, getAllContacts, getAllEmailAddressByGroup, getAllEmailByPublicGroup, getAllEmailBySharedGroup, getContactPageListByGroup, getContactPageListByGroup, getContactPageListByTag, getGroup, getGroups, getPersonalContact, getPublicContactsByAddressBook, getSharedAddressBooks, getSharedContact, getSharedContactsByAddressBook, getSharedGroup, getTag, getTags, moveContacts, pasteAddressBook, pasteContacts, removeContacts, removeContactTag, removeGroup, removeSharedContact, removeTag, removeUserShareAddressBook, removeUserShareContact, saveContact, saveGroup, searchContact, searchEmails, shareContact, updateTag
 

Method Detail

getPersonalContacts

java.util.List<Contact> getPersonalContacts(java.lang.String username)
                                            throws java.lang.Exception
get all contacts in all personal address books that belong to current user

Parameters:
username - current user ID
Returns:
list of contacts of the user
Throws:
java.lang.Exception

getPersonalContactsByAddressBook

ContactPageList getPersonalContactsByAddressBook(java.lang.String username,
                                                 java.lang.String addressBookId)
                                                 throws java.lang.Exception
get contact page list in a specific personal address book

Parameters:
username - current user
addressBookId - id of address book to get
Returns:
a contact page list
Throws:
java.lang.Exception

getEmailsByAddressBook

java.util.List<java.lang.String> getEmailsByAddressBook(java.lang.String username,
                                                        java.lang.String addressBookId)
                                                        throws java.lang.Exception
Get all email addresses of contacts in a personal address book

Parameters:
sProvider - session of current user
username - current user
addressBookId - id of address book
Returns:
email list in this address book
Throws:
java.lang.Exception

getContact

Contact getContact(java.lang.String owner,
                   java.lang.String contactId)
                   throws java.lang.Exception
Get a personal contact for a given owner

Parameters:
owner - user id of the contact owner
contactId - id of contact to get
Returns:
Contact in the personal contacts of owner
Throws:
java.lang.Exception

saveContact

void saveContact(java.lang.String owner,
                 Contact contact,
                 boolean isNew)
                 throws java.lang.Exception
Save a contact to a personal address book

Parameters:
owner - user ID of the owner of the contact
contact - contact to save
isNew - is true if save a new contact and false if save an edited contact
Throws:
java.lang.Exception

removeContacts

java.util.List<Contact> removeContacts(java.lang.String owner,
                                       java.util.List<java.lang.String> contactIds)
                                       throws java.lang.Exception
Remove several personal contacts

Parameters:
owner - user ID of the owner of the contacts
contactIds - IDs of contacts will be removed
Returns:
contacts list of deleted contacts
Throws:
java.lang.Exception

moveContacts

void moveContacts(java.lang.String username,
                  java.util.List<Contact> contacts,
                  java.lang.String addressType)
                  throws java.lang.Exception
move contacts to another address books

Parameters:
username - current user
contacts - contacts will be moved
addressType - type of address book which contacts will be moved to . type is personal or shared.
sProvider - session of current user
Throws:
java.lang.Exception

getPersonalContactsByFilter

ContactPageList getPersonalContactsByFilter(java.lang.String username,
                                            ContactFilter filter)
                                            throws java.lang.Exception
Get personal contacts by filter

Parameters:
username - owner user ID
filter - used to restrict results
Returns:
List of contacts
Throws:
java.lang.Exception

getSharedContactsByFilter

ContactPageList getSharedContactsByFilter(java.lang.String username,
                                          ContactFilter filter)
                                          throws java.lang.Exception
Get shared contacts by filter

Parameters:
username - owner user ID
filter - used to restrict results
Returns:
List of contacts
Throws:
java.lang.Exception

getPublicContactsByFilter

ContactPageList getPublicContactsByFilter(java.lang.String username,
                                          ContactFilter filter)
                                          throws java.lang.Exception
Get public contacts by filter

Parameters:
username - owner user ID
filter - used to restrict results
Returns:
List of contacts
Throws:
java.lang.Exception

searchContact

DataPageList searchContact(java.lang.String username,
                           ContactFilter filter)
                           throws java.lang.Exception
search all contacts with some properties equals ContactFilter properties.

Parameters:
username - current user
filter - setted some properties to filter contacts
Returns:
a data page list contains list of contacts
Throws:
java.lang.Exception

removeSharedContact

void removeSharedContact(java.lang.String username,
                         java.lang.String addressBookId,
                         java.lang.String contactId)
                         throws java.lang.Exception
remove contact in a address book which was shared for current user

Parameters:
username - current user
addressBookId - id of address book shared, this address books contains contact will be removed.
contactId - id of contact will be removed
Throws:
java.lang.Exception

searchEmails

java.util.Map<java.lang.String,java.lang.String> searchEmails(java.lang.String username,
                                                              ContactFilter filter)
                                                              throws java.lang.Exception
get id, name, email of contacts base on properties of ContactFilter

Parameters:
username - current user
filter - set some properties to filter contacts.
sProvider - should use system provider
Returns:
a map contains id, name, email of contacts.
Throws:
java.lang.Exception

getPublicContactsByAddressBook

ContactPageList getPublicContactsByAddressBook(java.lang.String addressBookId)
                                               throws java.lang.Exception
get contact page list of public address book specific by id of address book

Parameters:
addressBookId - id of address book want to get contacts
Returns:
a ContactPageList contains contact nodes
Throws:
java.lang.Exception

getPublicContact

Contact getPublicContact(java.lang.String userId)
                         throws java.lang.Exception
Get the public contact for a given user Id

Parameters:
userId - User ID whose corresponding contact will be retrieved
Returns:
The self contact for the given user
Throws:
java.lang.Exception

addUserContactInAddressBook

void addUserContactInAddressBook(java.lang.String userId,
                                 java.lang.String addressBookId)
                                 throws java.lang.Exception
Add a user's own contact to an address book

Parameters:
userId - user ID for the user whose contact will be added to the address book
addressBookId - id of the address book where the contact is added
Throws:
java.lang.Exception

getGroups

java.util.List<AddressBook> getGroups(java.lang.String username)
                                      throws java.lang.Exception
get all personal address books of user

Parameters:
username - user name of user get groups
Returns:
list all groups of user
Throws:
java.lang.Exception

getPersonalAddressBook

AddressBook getPersonalAddressBook(java.lang.String owner,
                                   java.lang.String addressBookID)
                                   throws java.lang.Exception
Get a personal address book by ID

Parameters:
owner - user ID of the owning user
addressBookID - ID of the address book to retrieve.
Returns:
object ContactGroup for the given ID
Throws:
java.lang.Exception

saveAddressBook

void saveAddressBook(java.lang.String username,
                     AddressBook addressBook,
                     boolean isNew)
                     throws java.lang.Exception
Save a personal or shared address book.

Parameters:
username - user ID of the owner
addressBook - the address book to save
isNew - true if save a new address book and false to update an existing address book
Throws:
java.lang.Exception

removeAddressBook

AddressBook removeAddressBook(java.lang.String username,
                              java.lang.String addressBookId)
                              throws java.lang.Exception
Remove a personal address book

Parameters:
username - user ID of address book owner
addressBookId - ID of the address book to remove
Returns:
the removed address book
Throws:
java.lang.Exception

removeUserShareContact

void removeUserShareContact(java.lang.String username,
                            java.lang.String contactId,
                            java.lang.String removedUser)
                            throws java.lang.Exception
remove view permission of user shared contact

Parameters:
username - userId of user has contact
contactId - id of contact shared
removedUser - userId of user has permission view contact
Throws:
java.lang.Exception

shareContact

void shareContact(java.lang.String username,
                  java.lang.String[] contactIds,
                  java.util.List<java.lang.String> receiveUsers)
                  throws java.lang.Exception
share some contacts to another users

Parameters:
username - userId of current user
contactIds - id of contacts will be shared
Throws:
java.lang.Exception

getSharedContacts

DataPageList getSharedContacts(java.lang.String username)
                               throws java.lang.Exception
get all contacts shared by any user for current user

Parameters:
username - userId of current user
Returns:
DataPageList object contains contacts list
Throws:
java.lang.Exception

shareAddressBook

void shareAddressBook(java.lang.String username,
                      java.lang.String addressBookId,
                      java.util.List<java.lang.String> receiverUsers)
                      throws java.lang.Exception
Share a personal address book with other users.

Parameters:
username - user ID of the owner of the address book to share
addressBookId - ID of the address book to share
receiverUsers - user IDs of users that will receive the shared address book
Throws:
java.lang.Exception

unshareAddressBook

void unshareAddressBook(java.lang.String owner,
                        java.lang.String addressBookId,
                        java.lang.String unsharedUser)
                        throws java.lang.Exception
Un-share an address book with another user

Parameters:
owner - user ID of the address book owner
addressBookId - id of shared address book
unsharedUser - user ID of the user that looses sharing to this address book
Throws:
java.lang.Exception

getSharedAddressBook

AddressBook getSharedAddressBook(java.lang.String username,
                                 java.lang.String addressBookId)
                                 throws java.lang.Exception
Get a shared address book by ID for a given user

Parameters:
username - user ID to whom the address book is shared
addressBookId - ID of address group to retrieve for user
Returns:
a shared address book object
Throws:
java.lang.Exception

getSharedAddressBooks

java.util.List<SharedAddressBook> getSharedAddressBooks(java.lang.String username)
                                                        throws java.lang.Exception
Get address books that are shared (by others) to a given user

Parameters:
username - userId of current user
Returns:
SharedAddressBook list contains some information about address books like name, shared user
Throws:
java.lang.Exception

saveContactToSharedAddressBook

void saveContactToSharedAddressBook(java.lang.String username,
                                    java.lang.String addressBookId,
                                    Contact contact,
                                    boolean isNew)
                                    throws java.lang.Exception
if user has edit permission on a shared address book then this user can save a contact to this address book

Parameters:
username - userId of current user
addressBookId - id of address book user wants to save contact to
contact - saved contact to shared address book
isNew - true if save a new contact, false if save a edited contact
Throws:
java.lang.Exception

getSharedContactsByAddressBook

ContactPageList getSharedContactsByAddressBook(java.lang.String username,
                                               SharedAddressBook addressBook)
                                               throws java.lang.Exception
when a user has a shared address book from another user then shared user can view contacts in this shared address book

Parameters:
username - userId of current user
addressBook - shared address book that user wants to get contacts
Returns:
a contact page list contains list of contacts in specific address book
Throws:
java.lang.Exception

getSharedContact

Contact getSharedContact(java.lang.String username,
                         java.lang.String contactId)
                         throws java.lang.Exception
when a user is shared contact by another user then this user can get contact info base on id of shared contact

Parameters:
username - userId of current user
contactId - id of shared contact that user wants to get
Returns:
shared contact object
Throws:
java.lang.Exception

saveSharedContact

void saveSharedContact(java.lang.String username,
                       Contact contact)
                       throws java.lang.Exception
user can edit a shared contact and save to database

Parameters:
username - userId of current user
contact - shared contact will be saved
Throws:
java.lang.Exception

getSharedContactAddressBook

Contact getSharedContactAddressBook(java.lang.String username,
                                    java.lang.String contactId)
                                    throws java.lang.Exception
user can get a contact in a shared address book by id of contact

Parameters:
username - userId of current user
contactId - id of contact that user wants to get
Returns:
contact object in a shared address book
Throws:
java.lang.Exception

getTags

java.util.List<Tag> getTags(java.lang.String username)
                            throws java.lang.Exception
this method will get all tags that user has been added

Parameters:
username - userId of current user
Returns:
a tags list contains all tags belong this user
Throws:
java.lang.Exception

getTag

Tag getTag(java.lang.String username,
           java.lang.String tagId)
           throws java.lang.Exception
user can get a specific tag base on id of tag

Parameters:
username - userId of current user
tagId - id of tag that user wants to get
Returns:
tag object has id same input id
Throws:
java.lang.Exception

getContactPageListByTag

DataPageList getContactPageListByTag(java.lang.String username,
                                     java.lang.String tagId)
                                     throws java.lang.Exception
this method will get contacts by a specific tag

Parameters:
username - userId of current user
tagId - is of tag that user wants to get contacts
Returns:
DataPageList object contains contacts list
Throws:
java.lang.Exception

addTag

void addTag(java.lang.String username,
            java.util.List<java.lang.String> contactIds,
            java.util.List<Tag> tags)
            throws java.lang.Exception
this method allow add some tags for some contacts

Parameters:
username - userId of current user
contactIds - id of contacts that user wants to add tags
tags - tags that user wants to add to contacts
Throws:
java.lang.Exception

addTag

void addTag(java.lang.String username,
            java.util.List<java.lang.String> contactIds,
            java.lang.String tagId)
            throws java.lang.Exception
this method allow add an exist tag to some contacts

Parameters:
username - userId of current user
contactIds - is of contacts that user wants to add tag
tagId - id of tag will be added to contacts
Throws:
java.lang.Exception

removeTag

Tag removeTag(java.lang.String username,
              java.lang.String tagId)
              throws java.lang.Exception
user can remove an exist tag base on tagId

Parameters:
username - userId of current user
tagId - id of tag that user wants to remove
Returns:
removed tag object
Throws:
java.lang.Exception

removeContactTag

void removeContactTag(java.lang.String username,
                      java.util.List<java.lang.String> contactIds,
                      java.util.List<java.lang.String> tags)
                      throws java.lang.Exception
this method allow remove tags info in some contacts but don't remove tags

Parameters:
username - userId of current user
contactIds - id of contacts that user wants to remove tags information
tags - list tags id will be removed in contacts
Throws:
java.lang.Exception

updateTag

void updateTag(java.lang.String username,
               Tag tag)
               throws java.lang.Exception
user can edit a tag and save to database

Parameters:
username - userId of current user
tag - tag object will be saved
Throws:
java.lang.Exception

pasteAddressBook

void pasteAddressBook(java.lang.String username,
                      java.lang.String srcAddress,
                      java.lang.String srcType,
                      java.lang.String destAddress,
                      java.lang.String destType)
                      throws java.lang.Exception
user can copy all contacts in a address book and paste them to another address book

Parameters:
username - userId of current user
srcAddress - id of copied address book
srcType - type of copied address book (it's private, shared, public)
destAddress - id of
Throws:
java.lang.Exception

pasteContacts

java.util.List<Contact> pasteContacts(java.lang.String username,
                                      java.lang.String destAddress,
                                      java.lang.String destType,
                                      java.util.Map<java.lang.String,java.lang.String> contactsMap)
                                      throws java.lang.Exception
this method allow add contacts list to a address book

Parameters:
username - userId of current user
destAddress - id of address book that user wants to add contacts
destType - type of address book (it's private, shared, public)
Throws:
java.lang.Exception

getContactImportExports

ContactImportExport getContactImportExports(java.lang.String type)
this method allow get a object used to import, export contacts

Parameters:
type - type of import, export format , for example : x-vcard
Returns:
a ContactImportExport object
Throws:
java.lang.Exception

getImportExportType

java.lang.String[] getImportExportType()
                                       throws java.lang.Exception
get type of import, export formats, for example : x-vcard

Returns:
an array of import, export type
Throws:
java.lang.Exception

registerNewUser

void registerNewUser(org.exoplatform.services.organization.User user,
                     boolean isNew)
                     throws java.lang.Exception
save default address and default contact of new user

Throws:
java.lang.Exception

saveAddress

void saveAddress(java.lang.String username,
                 java.lang.String emailAddress)
                 throws java.lang.Exception
save collected email addresses

Parameters:
emailAddress - collected email
Throws:
java.lang.Exception

getPublicAddressBookIdsOfUser

java.util.List<java.lang.String> getPublicAddressBookIdsOfUser(java.lang.String user)
                                                               throws java.lang.Exception
use this method to look all public AddressBookIds corresponding to groups in which the user has at least one membership.

Parameters:
user - The username of the user
Returns:
A collection of the found AddressBookIds. The return collection cannot be null, but it can be empty if no AddressBookId is found.
Throws:
java.lang.Exception

getAllsPublicAddressBookIds

java.util.List<java.lang.String> getAllsPublicAddressBookIds(java.lang.String user)
                                                             throws java.lang.Exception
Use this method to get all public AddressBookIds corresponding to groups that the user has the permission to view (including groups in which the user has at least one membership).

Parameters:
user - The username of the user
Returns:
Throws:
java.lang.Exception


Copyright © 2010 eXo Platform SAS. All Rights Reserved.