/** * Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados. * * e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro * dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do * Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão. * * Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA; * sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. * Veja a Licença Pública Geral Menor GNU para maiores detalhes. */ package br.gov.camara.edemocracia.portlets.chat.service; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.transaction.Isolation; import com.liferay.portal.kernel.transaction.Propagation; import com.liferay.portal.kernel.transaction.Transactional; import com.liferay.portal.service.BaseLocalService; import com.liferay.portal.service.InvokableLocalService; import com.liferay.portal.service.PersistedModelLocalService; /** * The interface for the chat room local service. * * <p> * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM. * </p> * * @author Ricardo Lima * @see ChatRoomLocalServiceUtil * @see br.gov.camara.edemocracia.portlets.chat.service.base.ChatRoomLocalServiceBaseImpl * @see br.gov.camara.edemocracia.portlets.chat.service.impl.ChatRoomLocalServiceImpl * @generated */ @Transactional(isolation = Isolation.PORTAL, rollbackFor = { PortalException.class, SystemException.class} ) public interface ChatRoomLocalService extends BaseLocalService, InvokableLocalService, PersistedModelLocalService { /* * NOTE FOR DEVELOPERS: * * Never modify or reference this interface directly. Always use {@link ChatRoomLocalServiceUtil} to access the chat room local service. Add custom service methods to {@link br.gov.camara.edemocracia.portlets.chat.service.impl.ChatRoomLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. */ /** * Adds the chat room to the database. Also notifies the appropriate model listeners. * * @param chatRoom the chat room * @return the chat room that was added * @throws SystemException if a system exception occurred */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom addChatRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom chatRoom) throws com.liferay.portal.kernel.exception.SystemException; /** * Creates a new chat room with the primary key. Does not add the chat room to the database. * * @param roomId the primary key for the new chat room * @return the new chat room */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom createChatRoom( long roomId); /** * Deletes the chat room with the primary key from the database. Also notifies the appropriate model listeners. * * @param roomId the primary key of the chat room * @return the chat room that was removed * @throws PortalException if a chat room with the primary key could not be found * @throws SystemException if a system exception occurred */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom deleteChatRoom( long roomId) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; /** * Deletes the chat room from the database. Also notifies the appropriate model listeners. * * @param chatRoom the chat room * @return the chat room that was removed * @throws SystemException if a system exception occurred */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom deleteChatRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom chatRoom) throws com.liferay.portal.kernel.exception.SystemException; public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery(); /** * Performs a dynamic query on the database and returns the matching rows. * * @param dynamicQuery the dynamic query * @return the matching rows * @throws SystemException if a system exception occurred */ @SuppressWarnings("rawtypes") public java.util.List dynamicQuery( com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) throws com.liferay.portal.kernel.exception.SystemException; /** * Performs a dynamic query on the database and returns a range of the matching rows. * * <p> * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. * </p> * * @param dynamicQuery the dynamic query * @param start the lower bound of the range of model instances * @param end the upper bound of the range of model instances (not inclusive) * @return the range of matching rows * @throws SystemException if a system exception occurred */ @SuppressWarnings("rawtypes") public java.util.List dynamicQuery( com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, int end) throws com.liferay.portal.kernel.exception.SystemException; /** * Performs a dynamic query on the database and returns an ordered range of the matching rows. * * <p> * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. * </p> * * @param dynamicQuery the dynamic query * @param start the lower bound of the range of model instances * @param end the upper bound of the range of model instances (not inclusive) * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) * @return the ordered range of matching rows * @throws SystemException if a system exception occurred */ @SuppressWarnings("rawtypes") public java.util.List dynamicQuery( com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, int end, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException; /** * Returns the number of rows that match the dynamic query. * * @param dynamicQuery the dynamic query * @return the number of rows that match the dynamic query * @throws SystemException if a system exception occurred */ public long dynamicQueryCount( com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) throws com.liferay.portal.kernel.exception.SystemException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom fetchChatRoom( long roomId) throws com.liferay.portal.kernel.exception.SystemException; /** * Returns the chat room with the primary key. * * @param roomId the primary key of the chat room * @return the chat room * @throws PortalException if a chat room with the primary key could not be found * @throws SystemException if a system exception occurred */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom getChatRoom( long roomId) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public com.liferay.portal.model.PersistedModel getPersistedModel( java.io.Serializable primaryKeyObj) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; /** * Returns a range of all the chat rooms. * * <p> * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. * </p> * * @param start the lower bound of the range of chat rooms * @param end the upper bound of the range of chat rooms (not inclusive) * @return the range of chat rooms * @throws SystemException if a system exception occurred */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public java.util.List<br.gov.camara.edemocracia.portlets.chat.model.ChatRoom> getChatRooms( int start, int end) throws com.liferay.portal.kernel.exception.SystemException; /** * Returns the number of chat rooms. * * @return the number of chat rooms * @throws SystemException if a system exception occurred */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int getChatRoomsCount() throws com.liferay.portal.kernel.exception.SystemException; /** * Updates the chat room in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. * * @param chatRoom the chat room * @return the chat room that was updated * @throws SystemException if a system exception occurred */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom updateChatRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom chatRoom) throws com.liferay.portal.kernel.exception.SystemException; /** * Updates the chat room in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. * * @param chatRoom the chat room * @param merge whether to merge the chat room with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation. * @return the chat room that was updated * @throws SystemException if a system exception occurred */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoom updateChatRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom chatRoom, boolean merge) throws com.liferay.portal.kernel.exception.SystemException; /** * Returns the Spring bean ID for this bean. * * @return the Spring bean ID for this bean */ public java.lang.String getBeanIdentifier(); /** * Sets the Spring bean ID for this bean. * * @param beanIdentifier the Spring bean ID for this bean */ public void setBeanIdentifier(java.lang.String beanIdentifier); public java.lang.Object invokeMethod(java.lang.String name, java.lang.String[] parameterTypes, java.lang.Object[] arguments) throws java.lang.Throwable; public java.util.List<br.gov.camara.edemocracia.portlets.chat.model.ChatRoom> findOpenAndEnterableClosedRoomsInCompany( long companyId, boolean userLogado) throws com.liferay.portal.kernel.exception.SystemException; public java.util.List<br.gov.camara.edemocracia.portlets.chat.model.ChatRoom> findScheduledRoomsInCompany( long groupId) throws com.liferay.portal.kernel.exception.SystemException; public java.util.List<br.gov.camara.edemocracia.portlets.chat.model.ChatRoom> findExportedRoomsInCompany( long groupId) throws com.liferay.portal.kernel.exception.SystemException; /** * Lista os nomes de usuário na sala que começam pelo nome especificado * * @param room * @param name * @return * @throws SystemException */ public java.util.HashSet<java.lang.String> listUsersStartingBy( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room, java.lang.String name) throws com.liferay.portal.kernel.exception.SystemException; /** * Verifica se há usuários no portal com o mesmo fullname * * @param fullName * @return */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public boolean isFullNameInUseInPortal(long companyId, java.lang.String fullName); /** * Conta o número de usuários na sala * * @param roomId * @return * @throws SystemException */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public long getUsersCountInChatRoom(long roomId) throws com.liferay.portal.kernel.exception.SystemException; /** * Verifica se há espaço na sala * * @param room * @return * @throws SystemException */ public boolean roomHaveSpaceLeft( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room) throws com.liferay.portal.kernel.exception.SystemException; /** * Adiciona um usuário autenticado em uma sala de bate-papo * * @return * @throws SystemException * @throws PortalException */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser addUserToRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room, com.liferay.portal.model.User portalUser, java.util.Date timestamp) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; /** * Adiciona um moderador na sala de bate-papo. * * Permite ao moderador entrar na sala de bate-papo, independente do estado * * @param room * @param portalUser * @param timestamp * @return * @throws SystemException * @throws PortalException */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser addModeratorToRoom( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room, com.liferay.portal.model.User portalUser, java.util.Date timestamp) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; /** * Adiciona um usuário anônimo * * @param room * @param timestamp * @param name * @param email * @param uf * @return * @throws SystemException * @throws PortalException */ public br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser addAnonUser( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room, java.util.Date timestamp, java.lang.String name, java.lang.String email, long uf) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; public br.gov.camara.edemocracia.portlets.chat.service.UserActivityId addSpyUser( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom room, java.util.Date timestamp, com.liferay.portal.model.User user) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; public void banirUsuario( br.gov.camara.edemocracia.portlets.chat.model.ChatRoom sala, br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser moderador, br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser usuarioParaBanir, java.util.Date timestamp, boolean banido) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public boolean isUserInRoom(java.lang.Long roomId, br.gov.camara.edemocracia.portlets.chat.service.UserActivityId userActivityId); public void updateUserTimestamp(java.lang.Long roomId, br.gov.camara.edemocracia.portlets.chat.service.UserActivityId userActivityId); public void removeSpyUser(java.lang.Long roomId, br.gov.camara.edemocracia.portlets.chat.service.UserActivityId userActivityId) throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; /** * Remove um usuário da sala de bate-papo * * @param user * @param timestamp */ public void removeUser( br.gov.camara.edemocracia.portlets.chat.model.ChatRoomUser user, java.util.Date timestamp); /** * Ajusta o estado das salas agendadas * * @param timestamp */ public void checkScheduledRoomState(java.util.Date timestamp) throws com.liferay.portal.kernel.exception.SystemException; public void removerUsuariosInativos() throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; public void removerUsuariosBanidosDeSalasFechadas(); public void synchronizeActivityManagerAndDatabase(); }