|
Openfire 3.3.2 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MUCRoom
A chat room on the chat server manages its users, and enforces it's own security rules.
Method Summary | |
---|---|
List<Presence> |
addAdmin(String bareJID,
MUCRole senderRole)
Adds a new user to the list of admins. |
List<Presence> |
addAdmins(List<String> newAdmins,
MUCRole senderRole)
Adds a list of users to the list of admins. |
void |
addFirstOwner(String bareJID)
Adds a new user to the list of owners. |
List<Presence> |
addMember(String bareJID,
String nickname,
MUCRole senderRole)
Adds a new user to the list of members. |
Presence |
addModerator(JID fullJID,
MUCRole senderRole)
Changes the role of the user within the room to moderator. |
List<Presence> |
addNone(String bareJID,
MUCRole senderRole)
Removes the user from all the other affiliation list thus giving the user a NONE affiliation. |
List<Presence> |
addOutcast(String bareJID,
String reason,
MUCRole senderRole)
Adds a new user to the list of outcast users. |
List<Presence> |
addOwner(String bareJID,
MUCRole senderRole)
Adds a new user to the list of owners. |
List<Presence> |
addOwners(List<String> newOwners,
MUCRole senderRole)
Adds a list of users to the list of owners. |
Presence |
addParticipant(JID fullJID,
String reason,
MUCRole senderRole)
Changes the role of the user within the room to participant. |
Presence |
addVisitor(JID jid,
MUCRole senderRole)
Changes the role of the user within the room to visitor. |
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. |
void |
changeSubject(Message packet,
MUCRole role)
Changes the room's subject if the occupant has enough permissions. |
Presence |
createPresence(Presence.Type type)
Create a new presence in this room for the given role. |
void |
destroyRoom(String alternateJID,
String reason)
Destroys the room. |
Collection<String> |
getAdmins()
Returns a collection with the current list of admins. |
MUCRole.Affiliation |
getAffiliation(String bareJID)
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()
|
int |
getMaxUsers()
Returns the maximum number of occupants that can be simultaneously in the room. |
Collection<String> |
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. |
String |
getName()
Get the name of this room. |
String |
getNaturalLanguageName()
Returns the natural language name of the room. |
MUCRole |
getOccupant(String nickname)
Obtain the role of a given user by nickname. |
MUCRole |
getOccupantByFullJID(JID jid)
Obtain the role of a given user in the room by his full JID. |
Collection<MUCRole> |
getOccupants()
Obtain the roles of all users in the chatroom. |
List<MUCRole> |
getOccupantsByBareJID(String jid)
Obtain the roles of a given user in the room by his bare JID. |
int |
getOccupantsCount()
Returns the number of occupants in the chatroom at the moment. |
Collection<String> |
getOutcasts()
Returns a collection with the current list of outcast users. |
Collection<String> |
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(String bareJID)
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. |
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. |
MUCRole |
joinRoom(String nickname,
String password,
HistoryRequest historyRequest,
MUCUser user,
Presence presence)
Joins the room using the given nickname. |
Presence |
kickOccupant(JID fullJID,
JID actorJID,
String reason)
Kicks a user from the room. |
void |
leaveRoom(String nickname)
Remove a member from the chat room. |
void |
lock(MUCRole senderRole)
Locks the room so that users cannot join the room. |
void |
nicknameChanged(String oldNick,
String newNick)
An event callback fired whenever an occupant changes his nickname within the chatroom. |
void |
saveToDB()
Saves the room configuration to the DB. |
void |
send(Packet packet)
Sends a packet to the user. |
void |
sendInvitation(JID to,
String reason,
MUCRole role,
List<org.dom4j.Element> extensions)
Sends an invitation to a user. |
void |
sendInvitationRejection(JID to,
String reason,
JID from)
Sends the rejection to the inviter. |
void |
sendPrivatePacket(Packet packet,
MUCRole senderRole)
Sends a private packet to a selected occupant. |
void |
sendPublicMessage(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 |
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<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 |
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. |
boolean |
wasSavedToDB()
Returns true if the room has already been made persistent. |
Method Detail |
---|
String getName()
long getID()
void setID(long roomID)
roomID
- the saved ID of the room in the DB or a new one if the room is being saved to
the DB.Date getCreationDate()
void setCreationDate(Date creationDate)
creationDate
- the date when the room was created.Date getModificationDate()
void setModificationDate(Date modificationDate)
modificationDate
- the last date when the room's configuration was modified.void setEmptyDate(Date emptyDate)
emptyDate
- the date when the last occupant left the room or null if there are occupants
in the room.Date getEmptyDate()
MUCRole getRole()
MUCRole getOccupant(String nickname) throws UserNotFoundException
nickname
- The nickname of the user you'd like to obtain
UserNotFoundException
- If there is no user with the given nicknameList<MUCRole> getOccupantsByBareJID(String jid) throws UserNotFoundException
jid
- The bare jid of the user you'd like to obtain
UserNotFoundException
- If there is no user with the given nicknameMUCRole getOccupantByFullJID(JID jid) throws UserNotFoundException
jid
- The full jid of the user you'd like to obtain
UserNotFoundException
- If there is no user with the given nicknameCollection<MUCRole> getOccupants()
int getOccupantsCount()
boolean hasOccupant(String nickname)
nickname
- The nickname of the user you'd like to obtain
String getReservedNickname(String bareJID)
bareJID
- The bare jid of the user of which you'd like to obtain his reserved nickname.
MUCRole.Affiliation getAffiliation(String bareJID)
Note: Prerequisite - A lock must already be obtained before sending this message.
bareJID
- The bare jid of the user of which you'd like to obtain his affiliation.
MUCRole joinRoom(String nickname, String password, HistoryRequest historyRequest, MUCUser user, Presence presence) throws UnauthorizedException, UserAlreadyExistsException, RoomLockedException, ForbiddenException, RegistrationRequiredException, ConflictException, ServiceUnavailableException, NotAcceptableException
nickname
- The nickname the user wants to use in the chatroom.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.presence
- The presence sent by the user to join the room.
UnauthorizedException
- If the user doesn't have permision 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.void leaveRoom(String nickname) throws UserNotFoundException
nickname
- The user to remove
UserNotFoundException
- If the nickname is not found.void destroyRoom(String alternateJID, String reason)
alternateJID
- the alternate JID. Commonly used to provide a replacement room.reason
- the reason why the room was destroyed.Presence createPresence(Presence.Type type) throws UnauthorizedException
UnauthorizedException
- If the user doesn't have permission to leave the roomvoid serverBroadcast(String msg)
msg
- The message to broadcastlong getChatLength()
void addFirstOwner(String bareJID)
addOwner(String,MUCRole)
.
bareJID
- The bare JID of the user to add as owner.List<Presence> addOwner(String bareJID, MUCRole senderRole) throws ForbiddenException
bareJID
- The bare JID of the user to add as owner.senderRole
- the role of the user that is trying to modify the owners list.
ForbiddenException
- If the user is not allowed to modify the owner list.List<Presence> addOwners(List<String> newOwners, MUCRole senderRole) throws ForbiddenException
newOwners
- the list of bare JIDs of the users to add to the list of existing owners.senderRole
- the role of the user that is trying to modify the owners list.
ForbiddenException
- If the user is not allowed to modify the owner list.List<Presence> addAdmins(List<String> newAdmins, MUCRole senderRole) throws ForbiddenException, ConflictException
newAdmins
- the list of bare JIDs of the users to add to the list of existing admins.senderRole
- the role of the user that is trying to modify the admins list.
ForbiddenException
- If the user is not allowed to modify the admin list.
ConflictException
- If the room was going to lose all its owners.List<Presence> addAdmin(String bareJID, MUCRole senderRole) throws ForbiddenException, ConflictException
bareJID
- The bare JID of the user to add as admin.senderRole
- The role of the user that is trying to modify the admins list.
ForbiddenException
- If the user is not allowed to modify the admin list.
ConflictException
- If the room was going to lose all its owners.List<Presence> addMember(String bareJID, String nickname, MUCRole senderRole) throws ForbiddenException, ConflictException
bareJID
- The bare JID of the user to add as a member.nickname
- The reserved nickname of the member for the room or null if none.senderRole
- the role of the user that is trying to modify the members list.
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.List<Presence> addOutcast(String bareJID, String reason, MUCRole senderRole) throws NotAllowedException, ForbiddenException, ConflictException
bareJID
- The bare JID of the user to add as an outcast.reason
- The reason why the user was banned.senderRole
- The role of the user that initiated the ban.
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.List<Presence> addNone(String bareJID, MUCRole senderRole) throws ForbiddenException, ConflictException
bareJID
- The bare JID of the user to keep with a NONE affiliation.senderRole
- The role of the user that set the affiliation to none.
ForbiddenException
- If the user is not allowed to modify the none list.
ConflictException
- If the room was going to lose all its owners.Presence addModerator(JID fullJID, MUCRole senderRole) throws ForbiddenException
fullJID
- The full JID of the occupant to give moderator privileges.senderRole
- The role of the user that is granting moderator privileges to an occupant.
ForbiddenException
- If the user is not allowed to grant moderator privileges.Presence addParticipant(JID fullJID, String reason, MUCRole senderRole) throws NotAllowedException, ForbiddenException
fullJID
- The full JID of the occupant to give participant privileges.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.
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.Presence addVisitor(JID jid, MUCRole senderRole) throws NotAllowedException, ForbiddenException
jid
- the full JID of the occupant to change to visitor.senderRole
- the role of the user that is changing the role to visitor.
NotAllowedException
- if trying to change the moderator role to an owner or an admin.
ForbiddenException
- if the user is not a moderator.boolean isLocked()
boolean isManuallyLocked()
void nicknameChanged(String oldNick, String newNick)
oldNick
- old nickname within the room.newNick
- new nickname within the room.void changeSubject(Message packet, MUCRole role) throws ForbiddenException
The new subject will be added to the history of the room.
packet
- the sent packet to change the room's subject.role
- the role of the user that is trying to change the subject.
ForbiddenException
- If the user is not allowed to change the subject.String getSubject()
void setSubject(String subject)
subject
- the last known subject of the room.void sendPublicMessage(Message message, MUCRole senderRole) throws ForbiddenException
message
- The message to send.senderRole
- the role of the user that is trying to send a public message.
ForbiddenException
- If the user is not allowed to send a public message (i.e. does not
have voice in the room).void sendPrivatePacket(Packet packet, MUCRole senderRole) throws NotFoundException
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.Presence kickOccupant(JID fullJID, JID actorJID, String reason) throws NotAllowedException
fullJID
- The full JID of the kicked user.actorJID
- The JID of the actor that initiated the kick.reason
- The reason why the user was kicked.
NotAllowedException
- Thrown if trying to ban an owner or an administrator.IQOwnerHandler getIQOwnerHandler()
IQAdminHandler getIQAdminHandler()
MUCRoomHistory getRoomHistory()
Collection<String> getOwners()
Collection<String> getAdmins()
Collection<String> getMembers()
Collection<String> getOutcasts()
Collection<MUCRole> getModerators()
Collection<MUCRole> getParticipants()
boolean canAnyoneDiscoverJID()
void setCanAnyoneDiscoverJID(boolean canAnyoneDiscoverJID)
canAnyoneDiscoverJID
- boolean that specifies if every presence packet will include the
JID of every occupant.boolean canOccupantsChangeSubject()
void setCanOccupantsChangeSubject(boolean canOccupantsChangeSubject)
canOccupantsChangeSubject
- boolean that specifies if participants are allowed to
change the room's subject.boolean canOccupantsInvite()
void setCanOccupantsInvite(boolean canOccupantsInvite)
canOccupantsInvite
- boolean that specified in any occupant can invite other users to
the room.String getNaturalLanguageName()
void setNaturalLanguageName(String naturalLanguageName)
naturalLanguageName
- the natural language name of the room.String getDescription()
void setDescription(String description)
description
- a description set by the room's owners about the room.boolean isMembersOnly()
List<Presence> setMembersOnly(boolean membersOnly)
membersOnly
- if true then the room is members-only.
boolean isLogEnabled()
void setLogEnabled(boolean logEnabled)
logEnabled
- boolean that specified if the room's conversation must be logged.boolean isLoginRestrictedToNickname()
void setLoginRestrictedToNickname(boolean restricted)
restricted
- if registered users can only join the room using their registered nickname.boolean canChangeNickname()
Notice that this feature is not supported by the MUC spec so answering a not_acceptable error may break some cliens.
void setChangeNickname(boolean canChange)
Notice that this feature is not supported by the MUC spec so answering a not_acceptable error may break some cliens.
canChange
- if room occupants are allowed to change their nicknames in the room.boolean isRegistrationEnabled()
void setRegistrationEnabled(boolean registrationEnabled)
registrationEnabled
- if users are allowed to register with the room.int getMaxUsers()
void setMaxUsers(int maxUsers)
maxUsers
- the maximum number of occupants that can be simultaneously in the room. Zero
means unlimited number of occupants.boolean isModerated()
void setModerated(boolean moderated)
moderated
- if the room in which only those with "voice" may send messages to all
occupants.boolean isPasswordProtected()
String getPassword()
void setPassword(String password)
password
- the password that the user must provide to enter the room.boolean isPersistent()
void setPersistent(boolean persistent)
persistent
- if the room is not destroyed if the last occupant exits.boolean wasSavedToDB()
void setSavedToDB(boolean saved)
saved
- boolean that indicates if the room was saved to the database.void saveToDB()
boolean isPublicRoom()
void setPublicRoom(boolean publicRoom)
publicRoom
- if the room is searchable and visible through service discovery.List<String> getRolesToBroadcastPresence()
void setRolesToBroadcastPresence(List<String> rolesToBroadcastPresence)
rolesToBroadcastPresence
- the list of roles of which presence will be broadcasted to
the rest of the occupants.boolean canBroadcastPresence(String roleToBroadcast)
roleToBroadcast
- the role to check if its presences will be broadcasted.
void lock(MUCRole senderRole) throws ForbiddenException
senderRole
- the role of the occupant that locked the room.
ForbiddenException
- If the user is not an owner of the room.void unlock(MUCRole senderRole) throws ForbiddenException
senderRole
- the role of the occupant that unlocked the room.
ForbiddenException
- If the user is not an owner of the room.void sendInvitation(JID to, String reason, MUCRole role, List<org.dom4j.Element> extensions) throws ForbiddenException
to
- the JID of the user that is being invited.reason
- the reason of the invitation or null if none.role
- 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.void sendInvitationRejection(JID to, String reason, JID from)
to
- the JID of the user that is originated the invitation.reason
- the reason for the rejection or null if none.from
- the JID of the invitee that is rejecting the invitation.void send(Packet packet)
packet
- The packet to send
|
Openfire 3.3.2 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |