Package de.xima.fc.dao.impl
Class FormRecordMessageDao
- java.lang.Object
-
- de.xima.cmn.dao.AbstractDao<T,Long,IEntityContext>
-
- de.xima.fc.dao.impl.GenericDao<FormRecordMessage>
-
- de.xima.fc.dao.impl.FormRecordMessageDao
-
- All Implemented Interfaces:
de.xima.cmn.dao.interfaces.IAbstractDao<FormRecordMessage,Long,IEntityContext>
,IFormRecordMessageDao
,IGenericDao<FormRecordMessage>
public class FormRecordMessageDao extends GenericDao<FormRecordMessage> implements IFormRecordMessageDao
Implementation of theIFormRecordMessageDao
for reading and writingFormRecordMessage
entities.- Since:
- 8.2.0
- Author:
- XIMA Media GmbH
-
-
Field Summary
Fields Modifier and Type Field Description static String
SKIP_UPDATE_PROTOCOL_ENTRY
-
Constructor Summary
Constructors Constructor Description FormRecordMessageDao()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List<FormRecordMessage>
getAllBySenderUserProfile(IEntityContext ec, UserProfile sender)
Returns all messages sent by the given user profile.PagedResult<FormRecordMessage>
getByChatAndUser(IEntityContext ec, UUID chatUuid, IUser user, int page, int pageSize)
Finds the messages for the form record chat given by its UUID if the given usercan access the chat
.List<FormRecordMessage>
getByUser(IEntityContext ec, IUser user)
Returns all messages the given user has access to.PagedResult<FormRecordMessage>
getByUser(IEntityContext ec, IUser user, int page, int pageSize)
Deprecated.FormRecordMessage
getByUuid(IEntityContext ec, UUID uuid)
Finds the message for the given UUID.FormRecordMessage
getByUuidAndUser(IEntityContext ec, UUID uuid, IUser requestingUser)
Finds the message for the given UUID, which the givenuser can access
.List<FormRecordMessage>
getChatMessages(IEntityContext ec, UUID chatUuid)
Returns all messages for the given chat UUID ordered by their sent instant (desc).DetailedFormRecordMessageDTO
getDetailsByUuidAndUser(IEntityContext ec, UUID uuid, IUser user, Locale locale)
Returns the detailed form record message for the given UUID.PagedResult<BaseFormRecordMessageDTO>
getMessagePage(IEntityContext ec, PageQuery pageQuery, FormRecordMessagesQuery messagesQuery, boolean skipCount)
Returns a page of form record messages for the given page query and messages query.protected IFCDaoActionHook<FormRecordMessage>
getPostActionHook()
protected IFCDaoActionHook<FormRecordMessage>
getPreActionHook()
PagedResult<FormRecordMessage>
getUnreadByUser(IEntityContext ec, IUser user, int page, int pageSize)
Finds all unread form record messages the given user has access to.-
Methods inherited from class de.xima.fc.dao.impl.GenericDao
getEntityRefs, read
-
Methods inherited from class de.xima.cmn.dao.AbstractDao
all, bulkDelete, bulkUpdate, cb, checkLockingVersion, cq, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, notifyListener, notifyListener, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.cmn.dao.interfaces.IAbstractDao
all, bulkDelete, bulkUpdate, checkLockingVersion, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from interface de.xima.fc.dao.interfaces.IGenericDao
count, findAll, findSingle, getEntityRefs, read
-
-
-
-
Field Detail
-
SKIP_UPDATE_PROTOCOL_ENTRY
public static final String SKIP_UPDATE_PROTOCOL_ENTRY
- See Also:
- Constant Field Values
-
-
Method Detail
-
getAllBySenderUserProfile
public List<FormRecordMessage> getAllBySenderUserProfile(IEntityContext ec, UserProfile sender)
Description copied from interface:IFormRecordMessageDao
Returns all messages sent by the given user profile.- Specified by:
getAllBySenderUserProfile
in interfaceIFormRecordMessageDao
- Parameters:
ec
- the entity contextsender
- the user profile of the sender- Returns:
- all messages of the sender
-
getByChatAndUser
public PagedResult<FormRecordMessage> getByChatAndUser(IEntityContext ec, UUID chatUuid, IUser user, int page, int pageSize)
Description copied from interface:IFormRecordMessageDao
Finds the messages for the form record chat given by its UUID if the given usercan access the chat
.- Specified by:
getByChatAndUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the database.chatUuid
- the UUID of the chatuser
- to get the form record messages for.page
- to get.pageSize
- size of the page to get.- Returns:
- a list of form record messages the user has access to ordered by their creation instant (desc).
null
if the chat given by the UUID could not be found. - See Also:
IFormRecordMessageDao.getByUser(IEntityContext, IUser)
-
getByUser
public List<FormRecordMessage> getByUser(IEntityContext ec, IUser user)
Description copied from interface:IFormRecordMessageDao
Returns all messages the given user has access to. The user has access to all messages ofchats they have access
to.- Specified by:
getByUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the database.user
- requesting the messages.- Returns:
- a list of form record messages ordered by their
sent instant
(desc). - See Also:
IFormRecordChatDao.getByUser(IEntityContext, IUser)
-
getByUser
@Deprecated public PagedResult<FormRecordMessage> getByUser(IEntityContext ec, IUser user, int page, int pageSize)
Deprecated.Description copied from interface:IFormRecordMessageDao
Finds all form record messages the given user has access to.- Specified by:
getByUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for database transactions.user
- to get the form record messages for.page
- to get.pageSize
- size of the page to get.- Returns:
- a list of form record messages the user has access to ordered by their creation instant (desc).
- See Also:
IFormRecordMessageDao.getByUser(IEntityContext, IUser)
,IFormRecordMessageDao.getMessagePage(IEntityContext, PageQuery, FormRecordMessagesQuery, boolean)
-
getByUuid
public FormRecordMessage getByUuid(IEntityContext ec, UUID uuid)
Description copied from interface:IFormRecordMessageDao
Finds the message for the given UUID.- Specified by:
getByUuid
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the databaseuuid
- the UUID of the message- Returns:
- The message with the given UUID
-
getByUuidAndUser
public FormRecordMessage getByUuidAndUser(IEntityContext ec, UUID uuid, IUser requestingUser)
Description copied from interface:IFormRecordMessageDao
Finds the message for the given UUID, which the givenuser can access
.- Specified by:
getByUuidAndUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the databaseuuid
- the UUID of the messagerequestingUser
- user requesting the messages.- Returns:
- The message with the given UUID which the given user can access and
null
otherwise. - See Also:
IFormRecordMessageDao.getByUser(IEntityContext, IUser)
-
getChatMessages
public List<FormRecordMessage> getChatMessages(IEntityContext ec, UUID chatUuid)
Description copied from interface:IFormRecordMessageDao
Returns all messages for the given chat UUID ordered by their sent instant (desc). This is intended for displaying the chat in the backoffice inbox.- Specified by:
getChatMessages
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the databasechatUuid
- the UUID of the chat- Returns:
- a list of all form record messages for the chat ordered by their sent instant (desc).
-
getDetailsByUuidAndUser
public DetailedFormRecordMessageDTO getDetailsByUuidAndUser(IEntityContext ec, UUID uuid, IUser user, Locale locale)
Description copied from interface:IFormRecordMessageDao
Returns the detailed form record message for the given UUID.- Specified by:
getDetailsByUuidAndUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for accessing the databaseuuid
- the UUID of the messageuser
- user requesting the messages.locale
- the locale for which to return the message (metadata)- Returns:
- The detailed form record message with the given UUID
-
getMessagePage
public PagedResult<BaseFormRecordMessageDTO> getMessagePage(IEntityContext ec, PageQuery pageQuery, FormRecordMessagesQuery messagesQuery, boolean skipCount)
Description copied from interface:IFormRecordMessageDao
Returns a page of form record messages for the given page query and messages query.- Specified by:
getMessagePage
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for database transactions.pageQuery
- page query to get the messages.messagesQuery
- messagesQuery to apply to the messages.skipCount
- whether to skip the count query.- Returns:
- a list of form record messages in the order defined by the messages query.
-
getUnreadByUser
public PagedResult<FormRecordMessage> getUnreadByUser(IEntityContext ec, IUser user, int page, int pageSize)
Description copied from interface:IFormRecordMessageDao
Finds all unread form record messages the given user has access to. Unread messages can only be gotten for users withUserProfile
s. For users without a profile all messages will be returned.- Specified by:
getUnreadByUser
in interfaceIFormRecordMessageDao
- Parameters:
ec
- entity context for database transactions.user
- to get the unread form record messages for.page
- to get.pageSize
- size of the page to get.- Returns:
- a list of form record messages the user has access to ordered by their creation instant (desc).
- See Also:
IFormRecordMessageDao.getByUser(IEntityContext, IUser)
-
getPostActionHook
protected IFCDaoActionHook<FormRecordMessage> getPostActionHook()
- Overrides:
getPostActionHook
in classGenericDao<FormRecordMessage>
-
getPreActionHook
protected IFCDaoActionHook<FormRecordMessage> getPreActionHook()
- Overrides:
getPreActionHook
in classGenericDao<FormRecordMessage>
-
-