public class LocalMUCRoom extends Object implements MUCRoom, GroupEventListener
When running in a cluster each cluster node will have its own copy of local rooms. Persistent rooms will be loaded by each cluster node when starting up. Not persistent rooms will be copied from the senior cluster member. All room occupants will be copied from the senior cluster member too.
Constructor and Description |
---|
LocalMUCRoom()
Do not use this constructor.
|
Modifier and Type | Method and Description |
---|---|
List<org.xmpp.packet.Presence> |
addAdmin(org.xmpp.packet.JID jid,
MUCRole sendRole)
Adds a new user to the list of admins.
|
List<org.xmpp.packet.Presence> |
addAdmins(List<org.xmpp.packet.JID> newAdmins,
MUCRole senderRole)
Adds a list of users to the list of admins.
|
void |
addFirstOwner(org.xmpp.packet.JID bareJID)
Adds a new user to the list of owners.
|
List<org.xmpp.packet.Presence> |
addMember(org.xmpp.packet.JID jid,
String nickname,
MUCRole sendRole)
Adds a new user to the list of members.
|
org.xmpp.packet.Presence |
addModerator(org.xmpp.packet.JID jid,
MUCRole senderRole)
Changes the role of the user within the room to moderator.
|
List<org.xmpp.packet.Presence> |
addNone(org.xmpp.packet.JID jid,
MUCRole senderRole)
Removes the user from all the other affiliation list thus giving the user a NONE affiliation.
|
List<org.xmpp.packet.Presence> |
addOutcast(org.xmpp.packet.JID jid,
String reason,
MUCRole senderRole)
Adds a new user to the list of outcast users.
|
List<org.xmpp.packet.Presence> |
addOwner(org.xmpp.packet.JID jid,
MUCRole sendRole)
Adds a new user to the list of owners.
|
List<org.xmpp.packet.Presence> |
addOwners(List<org.xmpp.packet.JID> newOwners,
MUCRole senderRole)
Adds a list of users to the list of owners.
|
org.xmpp.packet.Presence |
addParticipant(org.xmpp.packet.JID jid,
String reason,
MUCRole senderRole)
Changes the role of the user within the room to participant.
|
org.xmpp.packet.Presence |
addVisitor(org.xmpp.packet.JID jid,
MUCRole senderRole)
Changes the role of the user within the room to visitor.
|
void |
adminAdded(Group group,
Map params)
An administrator was added to a group.
|
void |
adminRemoved(Group group,
Map params)
An administrator was removed from a group.
|
void |
affiliationAdded(AddAffiliation affiliation) |
void |
broadcast(BroadcastMessageRequest messageRequest) |
void |
broadcast(BroadcastPresenceRequest presenceRequest) |
boolean |
canAnyoneDiscoverJID()
Returns true if every presence packet will include the JID of every occupant.
|
boolean |
canBroadcastPresence(String roleToBroadcast)
Returns true if the presences of the requested role will be broadcasted.
|
boolean |
canChangeNickname()
Returns true if room occupants are allowed to change their nicknames in the room.
|
boolean |
canOccupantsChangeSubject()
Returns true if participants are allowed to change the room's subject.
|
boolean |
canOccupantsInvite()
Returns true if occupants can invite other users to the room.
|
String |
canSendPrivateMessage()
Returns the minimal role of persons that are allowed to send private messages in the room.
|
void |
changeSubject(org.xmpp.packet.Message packet,
MUCRole role)
Changes the room's subject if the occupant has enough permissions.
|
org.xmpp.packet.Presence |
createPresence(org.xmpp.packet.Presence.Type presenceType)
Create a new presence in this room for the given role.
|
void |
destroyRoom(DestroyRoomRequest destroyRequest) |
void |
destroyRoom(org.xmpp.packet.JID alternateJID,
String reason)
Destroys the room.
|
boolean |
equals(Object obj) |
Collection<org.xmpp.packet.JID> |
getAdmins()
Returns a collection with the current list of admins.
|
MUCRole.Affiliation |
getAffiliation(org.xmpp.packet.JID jid)
Returns the affiliation state of the user in the room.
|
long |
getChatLength()
Returns the total length of the chat session.
|
Date |
getCreationDate()
Returns the date when the room was created.
|
String |
getDescription()
Returns a description set by the room's owners about the room.
|
Date |
getEmptyDate()
Returns the date when the last occupant left the room.
|
long |
getID()
Obtain a unique numerical id for this room.
|
IQAdminHandler |
getIQAdminHandler() |
IQOwnerHandler |
getIQOwnerHandler() |
org.xmpp.packet.JID |
getJID()
Get the full JID of this room.
|
int |
getMaxUsers()
Returns the maximum number of occupants that can be simultaneously in the room.
|
Collection<org.xmpp.packet.JID> |
getMembers()
Returns a collection with the current list of room members.
|
Collection<MUCRole> |
getModerators()
Returns a collection with the current list of room moderators.
|
Date |
getModificationDate()
Returns the last date when the room's configuration was modified.
|
MultiUserChatService |
getMUCService()
Get the multi user chat service the room is attached to.
|
String |
getName()
Get the name of this room.
|
String |
getNaturalLanguageName()
Returns the natural language name of the room.
|
MUCRole |
getOccupant(String nickname)
Deprecated.
Prefer
getOccupantsByNickname(String) (user can be connected more than once) |
MUCRole |
getOccupantByFullJID(org.xmpp.packet.JID jid)
Returns the role of a given user in the room by his full JID or null
if no role was found for the specified user.
|
Collection<MUCRole> |
getOccupants()
Obtain the roles of all users in the chatroom.
|
List<MUCRole> |
getOccupantsByBareJID(org.xmpp.packet.JID jid)
Obtain the roles of a given user in the room by his bare JID.
|
List<MUCRole> |
getOccupantsByNickname(String nickname)
Obtain the roles of a given user by nickname.
|
int |
getOccupantsCount()
Returns the number of occupants in the chatroom at the moment.
|
Collection<org.xmpp.packet.JID> |
getOutcasts()
Returns a collection with the current list of outcast users.
|
Collection<org.xmpp.packet.JID> |
getOwners()
Returns a collection with the current list of owners.
|
Collection<MUCRole> |
getParticipants()
Returns a collection with the current list of room participants.
|
String |
getPassword()
Returns the password that the user must provide to enter the room.
|
String |
getReservedNickname(org.xmpp.packet.JID jid)
Returns the reserved room nickname for the bare JID or null if none.
|
MUCRole |
getRole()
Obtain the role of the chat server (mainly for addressing messages and presence).
|
List<String> |
getRolesToBroadcastPresence()
Returns the list of roles of which presence will be broadcasted to the rest of the occupants.
|
MUCRoomHistory |
getRoomHistory()
Returns the history of the room which includes chat transcripts.
|
String |
getSubject()
Returns the last subject that some occupant set to the room.
|
String |
getUID() |
void |
groupCreated(Group group,
Map params)
A group was created.
|
void |
groupDeleting(Group group,
Map params)
A group is being deleted.
|
void |
groupModified(Group group,
Map params)
A group's name, description, or an extended property was changed.
|
int |
hashCode() |
boolean |
hasOccupant(String nickname)
Determine if a given nickname is taken.
|
boolean |
isLocked()
Returns true if the room is locked.
|
boolean |
isLogEnabled()
Returns true if the room's conversation is being logged.
|
boolean |
isLoginRestrictedToNickname()
Returns true if registered users can only join the room using their registered nickname.
|
boolean |
isManuallyLocked()
Returns true if the room is locked and it was locked by a room owner after the room was
initially configured.
|
boolean |
isMembersOnly()
Returns true if the room requires an invitation to enter.
|
boolean |
isModerated()
Returns if the room in which only those with "voice" may send messages to all occupants.
|
boolean |
isPasswordProtected()
Returns true if a user cannot enter without first providing the correct password.
|
boolean |
isPersistent()
Returns true if the room is not destroyed if the last occupant exits.
|
boolean |
isPublicRoom()
Returns true if the room is searchable and visible through service discovery.
|
boolean |
isRegistrationEnabled()
Returns true if users are allowed to register with the room.
|
LocalMUCRole |
joinRoom(String nickname,
String password,
HistoryRequest historyRequest,
LocalMUCUser user,
org.xmpp.packet.Presence presence)
Joins the room using the given nickname.
|
org.xmpp.packet.Presence |
kickOccupant(org.xmpp.packet.JID jid,
org.xmpp.packet.JID actorJID,
String actorNickname,
String reason)
Kicks a user from the room.
|
void |
leaveRoom(MUCRole leaveRole)
Remove a member from the chat room.
|
void |
leaveRoom(OccupantLeftEvent event) |
void |
lock(MUCRole senderRole)
Locks the room so that users cannot join the room.
|
void |
memberAdded(AddMember addMember) |
void |
memberAdded(Group group,
Map params)
A member was added to a group.
|
void |
memberRemoved(Group group,
Map params)
A member was removed from a group.
|
void |
nicknameChanged(ChangeNickname changeNickname) |
void |
nicknameChanged(MUCRole occupantRole,
org.xmpp.packet.Presence newPresence,
String oldNick,
String newNick)
An event callback fired whenever an occupant changes his nickname within the chatroom.
|
void |
occupantAdded(OccupantAddedEvent event) |
void |
occupantUpdated(UpdateOccupant update) |
void |
presenceUpdated(MUCRole occupantRole,
org.xmpp.packet.Presence newPresence)
Handles occupants updating their presence in the chatroom.
|
void |
presenceUpdated(UpdatePresence updatePresence)
Updates the presence of an occupant with the new presence included in the request.
|
void |
readExternal(ObjectInput in) |
void |
saveToDB()
Saves the room configuration to the DB.
|
void |
send(org.xmpp.packet.Packet packet)
Sends a packet to the user.
|
void |
sendInvitation(org.xmpp.packet.JID to,
String reason,
MUCRole senderRole,
List<org.dom4j.Element> extensions)
Sends an invitation to a user.
|
void |
sendInvitationRejection(org.xmpp.packet.JID to,
String reason,
org.xmpp.packet.JID sender)
Sends the rejection to the inviter.
|
void |
sendPrivatePacket(org.xmpp.packet.Packet packet,
MUCRole senderRole)
Sends a private packet to a selected occupant.
|
void |
sendPublicMessage(org.xmpp.packet.Message message,
MUCRole senderRole)
Sends a message to the all the occupants.
|
void |
serverBroadcast(String msg)
Broadcast a given message to all members of this chat room.
|
void |
setCanAnyoneDiscoverJID(boolean canAnyoneDiscoverJID)
Sets if every presence packet will include the JID of every occupant.
|
void |
setCanOccupantsChangeSubject(boolean canOccupantsChangeSubject)
Sets if participants are allowed to change the room's subject.
|
void |
setCanOccupantsInvite(boolean canOccupantsInvite)
Sets if occupants can invite other users to the room.
|
void |
setCanSendPrivateMessage(String role)
Sets the minimal role of persons that are allowed to send private messages in the room.
|
void |
setChangeNickname(boolean canChange)
Sets if room occupants are allowed to change their nicknames in the room.
|
void |
setCreationDate(Date creationDate)
Sets the date when the room was created.
|
void |
setDescription(String description)
Sets a description set by the room's owners about the room.
|
void |
setEmptyDate(Date emptyDate)
Sets the date when the last occupant left the room.
|
void |
setID(long roomID)
Sets a new room ID if the room has just been saved to the database or sets the saved ID of
the room in the database while loading the room.
|
void |
setLogEnabled(boolean logEnabled)
Sets if the room's conversation is being logged.
|
void |
setLoginRestrictedToNickname(boolean restricted)
Sets if registered users can only join the room using their registered nickname.
|
void |
setMaxUsers(int maxUsers)
Sets the maximum number of occupants that can be simultaneously in the room.
|
List<org.xmpp.packet.Presence> |
setMembersOnly(boolean membersOnly)
Sets if the room requires an invitation to enter.
|
void |
setModerated(boolean moderated)
Sets if the room in which only those with "voice" may send messages to all occupants.
|
void |
setModificationDate(Date modificationDate)
Sets the last date when the room's configuration was modified.
|
void |
setMUCService(MultiUserChatService service)
Sets the multi user chat service the room is attached to.
|
void |
setNaturalLanguageName(String naturalLanguageName)
Sets the natural language name of the room.
|
void |
setPassword(String password)
Sets the password that the user must provide to enter the room.
|
void |
setPersistent(boolean persistent)
Sets if the room is not destroyed if the last occupant exits.
|
void |
setPublicRoom(boolean publicRoom)
Sets if the room is searchable and visible through service discovery.
|
void |
setRegistrationEnabled(boolean registrationEnabled)
Sets if users are allowed to register with the room.
|
void |
setRolesToBroadcastPresence(List<String> rolesToBroadcastPresence)
Sets the list of roles of which presence will be broadcasted to the rest of the occupants.
|
void |
setSavedToDB(boolean saved)
Sets if the room has already been made persistent.
|
void |
setSubject(String subject)
Sets the last subject that some occupant set to the room.
|
void |
unlock(MUCRole senderRole)
Unlocks the room so that users can join the room.
|
void |
updateConfiguration(LocalMUCRoom otherRoom) |
org.xmpp.packet.Presence |
updateOccupant(UpdateOccupantRequest updateRequest) |
boolean |
wasSavedToDB()
Returns true if the room has already been made persistent.
|
void |
writeExternal(ObjectOutput out) |
public LocalMUCRoom()
public String getName()
MUCRoom
public org.xmpp.packet.JID getJID()
MUCRoom
public MultiUserChatService getMUCService()
MUCRoom
getMUCService
in interface MUCRoom
public void setMUCService(MultiUserChatService service)
MUCRoom
setMUCService
in interface MUCRoom
service
- The MultiUserChatService that the room is attached to (cannot be null).public long getID()
MUCRoom
public void setID(long roomID)
MUCRoom
public Date getCreationDate()
MUCRoom
getCreationDate
in interface MUCRoom
public void setCreationDate(Date creationDate)
MUCRoom
setCreationDate
in interface MUCRoom
creationDate
- the date when the room was created (cannot be null).public Date getModificationDate()
MUCRoom
getModificationDate
in interface MUCRoom
public void setModificationDate(Date modificationDate)
MUCRoom
setModificationDate
in interface MUCRoom
modificationDate
- the last date when the room's configuration was modified (cannot be null).public void setEmptyDate(Date emptyDate)
MUCRoom
setEmptyDate
in interface MUCRoom
emptyDate
- the date when the last occupant left the room or null if there are occupants in the room (can be null).public Date getEmptyDate()
MUCRoom
getEmptyDate
in interface MUCRoom
public MUCRole getRole()
MUCRoom
public MUCRole getOccupant(String nickname) throws UserNotFoundException
getOccupantsByNickname(String)
(user can be connected more than once)MUCRoom
getOccupant
in interface MUCRoom
nickname
- The nickname of the user you'd like to obtain (cannot be null)UserNotFoundException
- If there is no user with the given nicknamepublic List<MUCRole> getOccupantsByNickname(String nickname) throws UserNotFoundException
MUCRoom
getOccupantsByNickname
in interface MUCRoom
nickname
- The nickname of the user you'd like to obtain (cannot be null)UserNotFoundException
- If there is no user with the given nicknamepublic List<MUCRole> getOccupantsByBareJID(org.xmpp.packet.JID jid) throws UserNotFoundException
MUCRoom
getOccupantsByBareJID
in interface MUCRoom
jid
- The bare jid of the user you'd like to obtain (cannot be null).UserNotFoundException
- If there is no user with the given nicknamepublic MUCRole getOccupantByFullJID(org.xmpp.packet.JID jid)
MUCRoom
getOccupantByFullJID
in interface MUCRoom
jid
- The full jid of the user you'd like to obtain (cannot be null).public Collection<MUCRole> getOccupants()
MUCRoom
getOccupants
in interface MUCRoom
public int getOccupantsCount()
MUCRoom
getOccupantsCount
in interface MUCRoom
public boolean hasOccupant(String nickname)
MUCRoom
hasOccupant
in interface MUCRoom
nickname
- The nickname of the user you'd like to obtain (cannot be null).public String getReservedNickname(org.xmpp.packet.JID jid)
MUCRoom
getReservedNickname
in interface MUCRoom
jid
- The bare jid of the user of which you'd like to obtain his reserved nickname (cannot be null).public MUCRole.Affiliation getAffiliation(org.xmpp.packet.JID jid)
MUCRoom
Note: Prerequisite - A lock must already be obtained before sending this message.
getAffiliation
in interface MUCRoom
jid
- The bare jid of the user of which you'd like to obtain his affiliation (cannot be null).public LocalMUCRole joinRoom(String nickname, String password, HistoryRequest historyRequest, LocalMUCUser user, org.xmpp.packet.Presence presence) throws UnauthorizedException, UserAlreadyExistsException, RoomLockedException, ForbiddenException, RegistrationRequiredException, ConflictException, ServiceUnavailableException, NotAcceptableException
MUCRoom
joinRoom
in interface MUCRoom
nickname
- The nickname the user wants to use in the chatroom (cannot be null).password
- The password provided by the user to enter the chatroom or null if none.historyRequest
- The amount of history that the user request or null meaning default.user
- The user joining (cannot be null).presence
- The presence sent by the user to join the room (cannot be null).UnauthorizedException
- If the user doesn't have permission to join the room.UserAlreadyExistsException
- If the nickname is already taken.RoomLockedException
- If the user is trying to join a locked room.ForbiddenException
- If the user is an outcast.RegistrationRequiredException
- If the user is not a member of a members-only room.ConflictException
- If another user attempts to join the room with a
nickname reserved by the first user.ServiceUnavailableException
- If the user cannot join the room since the max number
of users has been reached.NotAcceptableException
- If the registered user is trying to join with a
nickname different than the reserved nickname.public void occupantAdded(OccupantAddedEvent event)
public void leaveRoom(MUCRole leaveRole)
MUCRoom
public void leaveRoom(OccupantLeftEvent event)
public void destroyRoom(DestroyRoomRequest destroyRequest)
public void destroyRoom(org.xmpp.packet.JID alternateJID, String reason)
MUCRoom
destroyRoom
in interface MUCRoom
alternateJID
- an optional alternate JID. Commonly used to provide a replacement room. (can be null)reason
- an optional reason why the room was destroyed (can be null).public org.xmpp.packet.Presence createPresence(org.xmpp.packet.Presence.Type presenceType) throws UnauthorizedException
MUCRoom
createPresence
in interface MUCRoom
presenceType
- Type of presence to create (cannot be null).UnauthorizedException
- If the user doesn't have permission to leave the roompublic void serverBroadcast(String msg)
MUCRoom
serverBroadcast
in interface MUCRoom
msg
- The message to broadcast (cannot be null)public void sendPublicMessage(org.xmpp.packet.Message message, MUCRole senderRole) throws ForbiddenException
MUCRoom
sendPublicMessage
in interface MUCRoom
message
- The message to send (cannot be null).senderRole
- the role of the user that is trying to send a public message (cannot be null).ForbiddenException
- If the user is not allowed to send a public message (i.e. does not
have voice in the room).public void sendPrivatePacket(org.xmpp.packet.Packet packet, MUCRole senderRole) throws NotFoundException, ForbiddenException
MUCRoom
sendPrivatePacket
in interface MUCRoom
packet
- The packet to send.senderRole
- the role of the user that is trying to send a public message.NotFoundException
- If the user is sending a packet to a room JID that does not exist.ForbiddenException
- If a user of this role is not permitted to send private messages in this room.public void send(org.xmpp.packet.Packet packet)
MUCRoom
public void broadcast(BroadcastPresenceRequest presenceRequest)
public void broadcast(BroadcastMessageRequest messageRequest)
public long getChatLength()
MUCRoom
getChatLength
in interface MUCRoom
public void addFirstOwner(org.xmpp.packet.JID bareJID)
MUCRoom
MUCRoom.addOwner(JID jid,MUCRole)
.addFirstOwner
in interface MUCRoom
bareJID
- The bare JID of the user to add as owner (cannot be null).public List<org.xmpp.packet.Presence> addOwner(org.xmpp.packet.JID jid, MUCRole sendRole) throws ForbiddenException
MUCRoom
addOwner
in interface MUCRoom
jid
- The JID of the user to add as owner (cannot be null).sendRole
- the role of the user that is trying to modify the owners list (cannot be null).ForbiddenException
- If the user is not allowed to modify the owner list.public List<org.xmpp.packet.Presence> addAdmin(org.xmpp.packet.JID jid, MUCRole sendRole) throws ForbiddenException, ConflictException
MUCRoom
addAdmin
in interface MUCRoom
jid
- The JID of the user to add as admin (cannot be null).sendRole
- The role of the user that is trying to modify the admins list (cannot be null).ForbiddenException
- If the user is not allowed to modify the admin list.ConflictException
- If the room was going to lose all its owners.public List<org.xmpp.packet.Presence> addMember(org.xmpp.packet.JID jid, String nickname, MUCRole sendRole) throws ForbiddenException, ConflictException
MUCRoom
addMember
in interface MUCRoom
jid
- The JID of the user to add as a member (cannot be null).nickname
- The reserved nickname of the member for the room or null if none.sendRole
- the role of the user that is trying to modify the members list (cannot be null).ForbiddenException
- If the user is not allowed to modify the members list.ConflictException
- If the desired room nickname is already reserved for the room or if
the room was going to lose all its owners.public List<org.xmpp.packet.Presence> addOutcast(org.xmpp.packet.JID jid, String reason, MUCRole senderRole) throws NotAllowedException, ForbiddenException, ConflictException
MUCRoom
addOutcast
in interface MUCRoom
jid
- The JID of the user to add as an outcast (cannot be null).reason
- an optional reason why the user was banned (can be null).senderRole
- The role of the user that initiated the ban (cannot be null).NotAllowedException
- Thrown if trying to ban an owner or an administrator.ForbiddenException
- If the user is not allowed to modify the outcast list.ConflictException
- If the room was going to lose all its owners.public List<org.xmpp.packet.Presence> addNone(org.xmpp.packet.JID jid, MUCRole senderRole) throws ForbiddenException, ConflictException
MUCRoom
addNone
in interface MUCRoom
jid
- The JID of the user to keep with a NONE affiliation (cannot be null).senderRole
- The role of the user that set the affiliation to none (cannot be null).ForbiddenException
- If the user is not allowed to modify the none list.ConflictException
- If the room was going to lose all its owners.public boolean isLocked()
MUCRoom
public boolean isManuallyLocked()
MUCRoom
isManuallyLocked
in interface MUCRoom
public void presenceUpdated(MUCRole occupantRole, org.xmpp.packet.Presence newPresence)
presenceUpdated
in interface MUCRoom
occupantRole
- occupant that changed his presence in the room (cannot be null).newPresence
- presence sent by the occupant (cannot be null).public void presenceUpdated(UpdatePresence updatePresence)
updatePresence
- request to update an occupant's presence.public void occupantUpdated(UpdateOccupant update)
public org.xmpp.packet.Presence updateOccupant(UpdateOccupantRequest updateRequest) throws NotAllowedException
NotAllowedException
public void memberAdded(AddMember addMember)
public void affiliationAdded(AddAffiliation affiliation)
public void nicknameChanged(MUCRole occupantRole, org.xmpp.packet.Presence newPresence, String oldNick, String newNick)
MUCRoom
nicknameChanged
in interface MUCRoom
occupantRole
- occupant that changed his nickname in the room (cannot be null).newPresence
- presence sent by the occupant with the new nickname (cannot be null).oldNick
- old nickname within the room (cannot be null).newNick
- new nickname within the room (cannot be null).public void nicknameChanged(ChangeNickname changeNickname)
public void changeSubject(org.xmpp.packet.Message packet, MUCRole role) throws ForbiddenException
MUCRoom
The new subject will be added to the history of the room.
changeSubject
in interface MUCRoom
packet
- the sent packet to change the room's subject (cannot be null).role
- the role of the user that is trying to change the subject (cannot be null).ForbiddenException
- If the user is not allowed to change the subject.public String getSubject()
MUCRoom
getSubject
in interface MUCRoom
public void setSubject(String subject)
MUCRoom
setSubject
in interface MUCRoom
subject
- the last known subject of the room (cannot be null).public void sendInvitation(org.xmpp.packet.JID to, String reason, MUCRole senderRole, List<org.dom4j.Element> extensions) throws ForbiddenException, CannotBeInvitedException
MUCRoom
sendInvitation
in interface MUCRoom
to
- the JID of the user that is being invited.reason
- the reason of the invitation or null if none.senderRole
- the role of the occupant that sent the invitation.extensions
- the list of extensions sent with the original message invitation or null
if none.ForbiddenException
- If the user is not allowed to send the invitation.CannotBeInvitedException
- (Optionally) If the user being invited does not have access to the roompublic void sendInvitationRejection(org.xmpp.packet.JID to, String reason, org.xmpp.packet.JID sender)
MUCRoom
sendInvitationRejection
in interface MUCRoom
to
- the JID of the user that is originated the invitation.reason
- the reason for the rejection or null if none.sender
- the JID of the invitee that is rejecting the invitation.public IQOwnerHandler getIQOwnerHandler()
getIQOwnerHandler
in interface MUCRoom
public IQAdminHandler getIQAdminHandler()
getIQAdminHandler
in interface MUCRoom
public MUCRoomHistory getRoomHistory()
MUCRoom
getRoomHistory
in interface MUCRoom
public Collection<org.xmpp.packet.JID> getOwners()
MUCRoom
public Collection<org.xmpp.packet.JID> getAdmins()
MUCRoom
public Collection<org.xmpp.packet.JID> getMembers()
MUCRoom
getMembers
in interface MUCRoom
public Collection<org.xmpp.packet.JID> getOutcasts()
MUCRoom
getOutcasts
in interface MUCRoom
public Collection<MUCRole> getModerators()
MUCRoom
getModerators
in interface MUCRoom
public Collection<MUCRole> getParticipants()
MUCRoom
getParticipants
in interface MUCRoom
public org.xmpp.packet.Presence addModerator(org.xmpp.packet.JID jid, MUCRole senderRole) throws ForbiddenException
MUCRoom
addModerator
in interface MUCRoom
jid
- The full JID of the occupant to give moderator privileges (cannot be null).senderRole
- The role of the user that is granting moderator privileges to an occupant (cannot be null).ForbiddenException
- If the user is not allowed to grant moderator privileges.public org.xmpp.packet.Presence addParticipant(org.xmpp.packet.JID jid, String reason, MUCRole senderRole) throws NotAllowedException, ForbiddenException
MUCRoom
addParticipant
in interface MUCRoom
jid
- The full JID of the occupant to give participant privileges (cannot be null).reason
- The reason why participant privileges were gave to the user or null
if none.senderRole
- The role of the user that is granting participant privileges to an occupant (cannot be null).NotAllowedException
- If trying to change the moderator role to an owner or an admin.ForbiddenException
- If the user is not allowed to grant participant privileges.public org.xmpp.packet.Presence addVisitor(org.xmpp.packet.JID jid, MUCRole senderRole) throws NotAllowedException, ForbiddenException
MUCRoom
addVisitor
in interface MUCRoom
jid
- the full JID of the occupant to change to visitor (cannot be null).senderRole
- the role of the user that is changing the role to visitor (cannot be null).NotAllowedException
- if trying to change the moderator role to an owner or an admin.ForbiddenException
- if the user is not a moderator.public org.xmpp.packet.Presence kickOccupant(org.xmpp.packet.JID jid, org.xmpp.packet.JID actorJID, String actorNickname, String reason) throws NotAllowedException
MUCRoom
kickOccupant
in interface MUCRoom
jid
- The full JID of the kicked user (cannot be null).actorJID
- The JID of the actor that initiated the kick (cannot be null).actorNickname
- The actor nickname.reason
- An optional reason why the user was kicked (can be null).NotAllowedException
- Thrown if trying to ban an owner or an administrator.public boolean canAnyoneDiscoverJID()
MUCRoom
canAnyoneDiscoverJID
in interface MUCRoom
public void setCanAnyoneDiscoverJID(boolean canAnyoneDiscoverJID)
MUCRoom
setCanAnyoneDiscoverJID
in interface MUCRoom
canAnyoneDiscoverJID
- boolean that specifies if every presence packet will include the
JID of every occupant.public String canSendPrivateMessage()
MUCRoom
canSendPrivateMessage
in interface MUCRoom
public void setCanSendPrivateMessage(String role)
MUCRoom
setCanSendPrivateMessage
in interface MUCRoom
role
- The minimal role of persons that are allowed to send private messages in the room (never null).public boolean canOccupantsChangeSubject()
MUCRoom
canOccupantsChangeSubject
in interface MUCRoom
public void setCanOccupantsChangeSubject(boolean canOccupantsChangeSubject)
MUCRoom
setCanOccupantsChangeSubject
in interface MUCRoom
canOccupantsChangeSubject
- boolean that specifies if participants are allowed to
change the room's subject.public boolean canOccupantsInvite()
MUCRoom
canOccupantsInvite
in interface MUCRoom
public void setCanOccupantsInvite(boolean canOccupantsInvite)
MUCRoom
setCanOccupantsInvite
in interface MUCRoom
canOccupantsInvite
- boolean that specified in any occupant can invite other users to
the room.public String getNaturalLanguageName()
MUCRoom
getNaturalLanguageName
in interface MUCRoom
public void setNaturalLanguageName(String naturalLanguageName)
MUCRoom
setNaturalLanguageName
in interface MUCRoom
naturalLanguageName
- the natural language name of the room.public String getDescription()
MUCRoom
getDescription
in interface MUCRoom
public void setDescription(String description)
MUCRoom
setDescription
in interface MUCRoom
description
- a description set by the room's owners about the room.public boolean isMembersOnly()
MUCRoom
isMembersOnly
in interface MUCRoom
public List<org.xmpp.packet.Presence> setMembersOnly(boolean membersOnly)
MUCRoom
setMembersOnly
in interface MUCRoom
membersOnly
- if true then the room is members-only.public boolean isLogEnabled()
MUCRoom
isLogEnabled
in interface MUCRoom
public void setLogEnabled(boolean logEnabled)
MUCRoom
setLogEnabled
in interface MUCRoom
logEnabled
- boolean that specified if the room's conversation must be logged.public void setLoginRestrictedToNickname(boolean restricted)
MUCRoom
setLoginRestrictedToNickname
in interface MUCRoom
restricted
- if registered users can only join the room using their registered nickname.public boolean isLoginRestrictedToNickname()
MUCRoom
isLoginRestrictedToNickname
in interface MUCRoom
public void setChangeNickname(boolean canChange)
MUCRoom
Notice that this feature is not supported by the MUC spec so answering a not_acceptable error may break some cliens.
setChangeNickname
in interface MUCRoom
canChange
- if room occupants are allowed to change their nicknames in the room.public boolean canChangeNickname()
MUCRoom
Notice that this feature is not supported by the MUC spec so answering a not_acceptable error may break some cliens.
canChangeNickname
in interface MUCRoom
public void setRegistrationEnabled(boolean registrationEnabled)
MUCRoom
setRegistrationEnabled
in interface MUCRoom
registrationEnabled
- if users are allowed to register with the room.public boolean isRegistrationEnabled()
MUCRoom
isRegistrationEnabled
in interface MUCRoom
public int getMaxUsers()
MUCRoom
getMaxUsers
in interface MUCRoom
public void setMaxUsers(int maxUsers)
MUCRoom
setMaxUsers
in interface MUCRoom
maxUsers
- the maximum number of occupants that can be simultaneously in the room. Zero
means unlimited number of occupants.public boolean isModerated()
MUCRoom
isModerated
in interface MUCRoom
public void setModerated(boolean moderated)
MUCRoom
setModerated
in interface MUCRoom
moderated
- if the room in which only those with "voice" may send messages to all
occupants.public String getPassword()
MUCRoom
getPassword
in interface MUCRoom
public void setPassword(String password)
MUCRoom
setPassword
in interface MUCRoom
password
- the password that the user must provide to enter the room.public boolean isPasswordProtected()
MUCRoom
isPasswordProtected
in interface MUCRoom
public boolean isPersistent()
MUCRoom
isPersistent
in interface MUCRoom
public boolean wasSavedToDB()
MUCRoom
wasSavedToDB
in interface MUCRoom
public void setSavedToDB(boolean saved)
MUCRoom
setSavedToDB
in interface MUCRoom
saved
- boolean that indicates if the room was saved to the database.public void setPersistent(boolean persistent)
MUCRoom
setPersistent
in interface MUCRoom
persistent
- if the room is not destroyed if the last occupant exits.public boolean isPublicRoom()
MUCRoom
isPublicRoom
in interface MUCRoom
public void setPublicRoom(boolean publicRoom)
MUCRoom
setPublicRoom
in interface MUCRoom
publicRoom
- if the room is searchable and visible through service discovery.public List<String> getRolesToBroadcastPresence()
MUCRoom
getRolesToBroadcastPresence
in interface MUCRoom
public void setRolesToBroadcastPresence(List<String> rolesToBroadcastPresence)
MUCRoom
setRolesToBroadcastPresence
in interface MUCRoom
rolesToBroadcastPresence
- the list of roles of which presence will be broadcasted to
the rest of the occupants.public boolean canBroadcastPresence(String roleToBroadcast)
MUCRoom
canBroadcastPresence
in interface MUCRoom
roleToBroadcast
- the role to check if its presences will be broadcasted.public void lock(MUCRole senderRole) throws ForbiddenException
MUCRoom
lock
in interface MUCRoom
senderRole
- the role of the occupant that locked the room.ForbiddenException
- If the user is not an owner of the room.public void unlock(MUCRole senderRole) throws ForbiddenException
MUCRoom
unlock
in interface MUCRoom
senderRole
- the role of the occupant that unlocked the room.ForbiddenException
- If the user is not an owner of the room.public List<org.xmpp.packet.Presence> addAdmins(List<org.xmpp.packet.JID> newAdmins, MUCRole senderRole) throws ForbiddenException, ConflictException
MUCRoom
addAdmins
in interface MUCRoom
newAdmins
- the list of bare JIDs of the users to add to the list of existing admins (cannot be null).senderRole
- the role of the user that is trying to modify the admins list (cannot be null).ForbiddenException
- If the user is not allowed to modify the admin list.ConflictException
- If the room was going to lose all its owners.public List<org.xmpp.packet.Presence> addOwners(List<org.xmpp.packet.JID> newOwners, MUCRole senderRole) throws ForbiddenException
MUCRoom
addOwners
in interface MUCRoom
newOwners
- the list of bare JIDs of the users to add to the list of existing owners (cannot be null).senderRole
- the role of the user that is trying to modify the owners list (cannot be null).ForbiddenException
- If the user is not allowed to modify the owner list.public void saveToDB()
MUCRoom
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public void updateConfiguration(LocalMUCRoom otherRoom)
public String getUID()
getUID
in interface org.xmpp.resultsetmanagement.Result
public void groupDeleting(Group group, Map params)
GroupEventListener
groupDeleting
in interface GroupEventListener
group
- the group.params
- event parameters.public void groupModified(Group group, Map params)
GroupEventListener
groupModified
in interface GroupEventListener
group
- the group.params
- event parameters.public void memberAdded(Group group, Map params)
GroupEventListener
memberAdded
in interface GroupEventListener
group
- the group.params
- event parameters.public void memberRemoved(Group group, Map params)
GroupEventListener
memberRemoved
in interface GroupEventListener
group
- the group.params
- event parameters.public void adminAdded(Group group, Map params)
GroupEventListener
adminAdded
in interface GroupEventListener
group
- the group.params
- event parameters.public void adminRemoved(Group group, Map params)
GroupEventListener
adminRemoved
in interface GroupEventListener
group
- the group.params
- event parameters.public void groupCreated(Group group, Map params)
GroupEventListener
groupCreated
in interface GroupEventListener
group
- the group.params
- event parameters.Copyright © 2003-2008 Jive Software.