Package org.jivesoftware.openfire.muc
Class MUCRoomHistory
- java.lang.Object
-
- org.jivesoftware.openfire.muc.MUCRoomHistory
-
public final class MUCRoomHistory extends Object
Represent the data model for oneMUCRoom
history. Including chat transcript, joining and leaving times.- Author:
- Gaston Dombiak
-
-
Constructor Summary
Constructors Constructor Description MUCRoomHistory(MUCRoom mucRoom, HistoryStrategy historyStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMessage(org.xmpp.packet.Message packet)
void
addOldMessage(String senderJID, String nickname, Date sentDate, String subject, String body, String stanza)
Creates a new message and adds it to the history.org.xmpp.packet.Message
getChangedSubject()
Returns the message within the history of the room that has changed the room's subject.Iterator<org.xmpp.packet.Message>
getMessageHistory()
ListIterator<org.xmpp.packet.Message>
getReverseMessageHistory()
Obtain the current history to be iterated in reverse mode.boolean
hasChangedSubject()
Returns true if there is a message within the history of the room that has changed the room's subject.boolean
isSubjectChangeRequest(org.xmpp.packet.Message message)
Returns true if the given message qualifies as a subject change request, per XEP-0045.
-
-
-
Constructor Detail
-
MUCRoomHistory
public MUCRoomHistory(MUCRoom mucRoom, HistoryStrategy historyStrategy)
-
-
Method Detail
-
addMessage
public void addMessage(org.xmpp.packet.Message packet)
-
getMessageHistory
public Iterator<org.xmpp.packet.Message> getMessageHistory()
-
getReverseMessageHistory
public ListIterator<org.xmpp.packet.Message> getReverseMessageHistory()
Obtain the current history to be iterated in reverse mode. This means that the returned list iterator will be positioned at the end of the history so senders of this message must traverse the list in reverse mode.- Returns:
- A list iterator of Message objects positioned at the end of the list.
-
addOldMessage
public void addOldMessage(String senderJID, String nickname, Date sentDate, String subject, String body, String stanza)
Creates a new message and adds it to the history. The new message will be created based on the provided information. This information will likely come from the database when loading the room history from the database.- Parameters:
senderJID
- the sender's JID of the message to add to the history.nickname
- the sender's nickname of the message to add to the history.sentDate
- the date when the message was sent to the room.subject
- the subject included in the message.body
- the body of the message.stanza
- the stanza to add
-
hasChangedSubject
public boolean hasChangedSubject()
Returns true if there is a message within the history of the room that has changed the room's subject.- Returns:
- true if there is a message within the history of the room that has changed the room's subject.
-
getChangedSubject
public org.xmpp.packet.Message getChangedSubject()
Returns the message within the history of the room that has changed the room's subject.- Returns:
- the latest room subject change or null if none exists yet.
-
isSubjectChangeRequest
public boolean isSubjectChangeRequest(org.xmpp.packet.Message message)
Returns true if the given message qualifies as a subject change request, per XEP-0045.- Parameters:
message
- the message to check- Returns:
- true if the given packet is a subject change request
-
-