Package tigase.muc
Class Room
- java.lang.Object
-
- tigase.muc.Room
-
- All Implemented Interfaces:
RoomConfig.RoomConfigListener
- Direct Known Subclasses:
RoomWithId
public class Room extends java.lang.Object implements RoomConfig.RoomConfigListener
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Room.RoomFactory
static class
Room.RoomFactoryImpl
static interface
Room.RoomListener
static interface
Room.RoomOccupantListener
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FILTERED_OCCUPANTS_COLLECTION
protected static java.util.logging.Logger
log
protected PresenceFiltered
presenceFiltered
protected PresenceStore
presences
-
Constructor Summary
Constructors Modifier Constructor Description protected
Room(RoomConfig rc, java.util.Date creationDate, tigase.xmpp.jid.BareJID creatorJid)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAffiliationByJid(tigase.xmpp.jid.BareJID jid, RoomAffiliation affiliation)
void
addListener(Room.RoomListener listener)
void
addOccupantByJid(tigase.xmpp.jid.JID senderJid, java.lang.String nickName, Role role, tigase.xml.Element pe)
void
addOccupantListener(Room.RoomOccupantListener listener)
void
changeNickName(tigase.xmpp.jid.JID senderJid, java.lang.String nickName)
protected java.util.function.Predicate<tigase.xmpp.jid.BareJID>
createAvailableFilter()
void
fireOnMessageToOccupants(tigase.xmpp.jid.JID fromJID, tigase.server.Packet msg)
RoomAffiliation
getAffiliation(java.lang.String nickname)
RoomAffiliation
getAffiliation(tigase.xmpp.jid.BareJID jid)
java.util.Collection<tigase.xmpp.jid.BareJID>
getAffiliations()
java.util.stream.Stream<tigase.xmpp.jid.BareJID>
getAffiliationsMatching(java.util.function.Predicate<RoomAffiliation> predicate)
java.util.stream.Stream<tigase.xmpp.jid.JID>
getAllJidsForMessageDelivery()
java.util.Collection<tigase.xmpp.jid.JID>
getAllOccupantsJID()
java.util.stream.Stream<tigase.xmpp.jid.JID>
getAllOccupantsJidsForMessageDelivery()
java.lang.String
getAvatarHash()
RoomConfig
getConfig()
java.util.Date
getCreationDate()
tigase.xmpp.jid.BareJID
getCreatorJid()
java.lang.String
getDebugInfoOccupants()
static Role
getDefaultRole(RoomConfig config, Affiliation affiliation)
tigase.xml.Element
getLastPresenceCopy(tigase.xmpp.jid.BareJID occupantJid, java.lang.String nickname)
tigase.xml.Element
getLastPresenceCopyByJid(tigase.xmpp.jid.BareJID occupantJid)
protected java.util.Collection<tigase.xmpp.jid.JID>
getLocalOccupantsJidsByNickname(java.lang.String nickname)
java.util.Optional<tigase.xmpp.jid.JID>
getOccupantJidForIqRequestForward(java.lang.String recipientNickname)
java.util.Optional<tigase.xmpp.jid.JID>
getOccupantJidForIqResponseForward(java.lang.String recipientNickname, java.util.function.Predicate<tigase.xmpp.jid.JID> filter)
java.util.stream.Stream<tigase.xmpp.jid.BareJID>
getOccupantsBareJids()
int
getOccupantsCount()
tigase.xmpp.jid.BareJID
getOccupantsJidByNickname(java.lang.String nickname)
java.util.Collection<tigase.xmpp.jid.JID>
getOccupantsJidsByNickname(java.lang.String nickname)
java.lang.String
getOccupantsNickname(tigase.xmpp.jid.JID jid)
java.util.Collection<java.lang.String>
getOccupantsNicknames(boolean includePersistent)
java.util.Collection<java.lang.String>
getOccupantsNicknames(tigase.xmpp.jid.BareJID bareJid)
protected tigase.xmpp.jid.BareJID
getPersistentOccupantJidByNickname(java.lang.String nickname)
protected java.util.Collection<tigase.xmpp.jid.JID>
getPersistentOccupantsJidsByNickname(java.lang.String nickname)
PresenceFiltered
getPresenceFiltered()
Role
getRole(java.lang.String nickname)
java.lang.Object
getRoomCustomData(java.lang.String key)
tigase.xmpp.jid.BareJID
getRoomJID()
java.lang.String
getSubject()
java.util.Date
getSubjectChangeDate()
java.lang.String
getSubjectChangerNick()
boolean
isOccupantInRoom(tigase.xmpp.jid.JID jid)
boolean
isOccupantOnline(tigase.xmpp.jid.BareJID jid)
boolean
isRoomLocked()
void
onConfigChanged(RoomConfig roomConfig, java.util.Set<java.lang.String> modifiedVars)
void
onInitialRoomConfig(RoomConfig roomConfig)
void
removeListener(Room.RoomListener listener)
void
removeOccupant(java.lang.String occupantNick)
boolean
removeOccupant(tigase.xmpp.jid.JID jid)
void
setAffiliations(java.util.Map<tigase.xmpp.jid.BareJID,RoomAffiliation> affiliations)
void
setAvatarHash(java.lang.String avatarHash)
void
setNewAffiliation(tigase.xmpp.jid.BareJID user, RoomAffiliation affiliation)
void
setNewRole(java.lang.String nickname, Role newRole)
void
setNewSubject(java.lang.String msg, java.lang.String senderNickname)
void
setRoomCustomData(java.lang.String key, java.lang.Object data)
void
setRoomLocked(boolean roomLocked)
void
setSubjectChangeDate(java.util.Date subjectChangeDate)
void
updatePresenceByJid(tigase.xmpp.jid.JID jid, java.lang.String nickname, tigase.xml.Element cp)
-
-
-
Field Detail
-
FILTERED_OCCUPANTS_COLLECTION
public static final java.lang.String FILTERED_OCCUPANTS_COLLECTION
- See Also:
- Constant Field Values
-
log
protected static final java.util.logging.Logger log
-
presenceFiltered
protected final PresenceFiltered presenceFiltered
-
presences
protected final PresenceStore presences
-
-
Constructor Detail
-
Room
protected Room(RoomConfig rc, java.util.Date creationDate, tigase.xmpp.jid.BareJID creatorJid)
-
-
Method Detail
-
getDefaultRole
public static Role getDefaultRole(RoomConfig config, Affiliation affiliation)
-
getAvatarHash
public java.lang.String getAvatarHash()
-
setAvatarHash
public void setAvatarHash(java.lang.String avatarHash)
-
addAffiliationByJid
public void addAffiliationByJid(tigase.xmpp.jid.BareJID jid, RoomAffiliation affiliation) throws tigase.component.exceptions.RepositoryException
- Throws:
tigase.component.exceptions.RepositoryException
-
addListener
public void addListener(Room.RoomListener listener)
-
addOccupantByJid
public void addOccupantByJid(tigase.xmpp.jid.JID senderJid, java.lang.String nickName, Role role, tigase.xml.Element pe) throws tigase.util.stringprep.TigaseStringprepException
- Throws:
tigase.util.stringprep.TigaseStringprepException
-
addOccupantListener
public void addOccupantListener(Room.RoomOccupantListener listener)
-
changeNickName
public void changeNickName(tigase.xmpp.jid.JID senderJid, java.lang.String nickName)
-
fireOnMessageToOccupants
public void fireOnMessageToOccupants(tigase.xmpp.jid.JID fromJID, tigase.server.Packet msg)
-
getAffiliation
public RoomAffiliation getAffiliation(tigase.xmpp.jid.BareJID jid)
-
getAffiliation
public RoomAffiliation getAffiliation(java.lang.String nickname)
-
getAffiliations
public java.util.Collection<tigase.xmpp.jid.BareJID> getAffiliations()
-
setAffiliations
public void setAffiliations(java.util.Map<tigase.xmpp.jid.BareJID,RoomAffiliation> affiliations)
-
getAffiliationsMatching
public java.util.stream.Stream<tigase.xmpp.jid.BareJID> getAffiliationsMatching(java.util.function.Predicate<RoomAffiliation> predicate)
-
getAllOccupantsJID
public java.util.Collection<tigase.xmpp.jid.JID> getAllOccupantsJID()
-
getAllOccupantsJidsForMessageDelivery
public java.util.stream.Stream<tigase.xmpp.jid.JID> getAllOccupantsJidsForMessageDelivery()
-
getAllJidsForMessageDelivery
public java.util.stream.Stream<tigase.xmpp.jid.JID> getAllJidsForMessageDelivery()
-
getConfig
public RoomConfig getConfig()
-
getCreationDate
public java.util.Date getCreationDate()
-
getCreatorJid
public tigase.xmpp.jid.BareJID getCreatorJid()
-
getDebugInfoOccupants
public java.lang.String getDebugInfoOccupants()
-
getLastPresenceCopy
public tigase.xml.Element getLastPresenceCopy(tigase.xmpp.jid.BareJID occupantJid, java.lang.String nickname)
-
getLastPresenceCopyByJid
public tigase.xml.Element getLastPresenceCopyByJid(tigase.xmpp.jid.BareJID occupantJid)
-
getOccupantsCount
public int getOccupantsCount()
-
getOccupantsBareJids
public java.util.stream.Stream<tigase.xmpp.jid.BareJID> getOccupantsBareJids()
-
getOccupantsJidByNickname
public tigase.xmpp.jid.BareJID getOccupantsJidByNickname(java.lang.String nickname)
-
getOccupantsJidsByNickname
public java.util.Collection<tigase.xmpp.jid.JID> getOccupantsJidsByNickname(java.lang.String nickname)
-
getOccupantsNickname
public java.lang.String getOccupantsNickname(tigase.xmpp.jid.JID jid)
-
getOccupantsNicknames
public java.util.Collection<java.lang.String> getOccupantsNicknames(boolean includePersistent)
-
isOccupantOnline
public boolean isOccupantOnline(tigase.xmpp.jid.BareJID jid)
-
getOccupantsNicknames
public java.util.Collection<java.lang.String> getOccupantsNicknames(tigase.xmpp.jid.BareJID bareJid)
-
getPresenceFiltered
public PresenceFiltered getPresenceFiltered()
-
getRole
public Role getRole(java.lang.String nickname)
-
getRoomCustomData
public java.lang.Object getRoomCustomData(java.lang.String key)
-
getRoomJID
public tigase.xmpp.jid.BareJID getRoomJID()
-
getSubject
public java.lang.String getSubject()
-
getSubjectChangeDate
public java.util.Date getSubjectChangeDate()
-
setSubjectChangeDate
public void setSubjectChangeDate(java.util.Date subjectChangeDate)
-
getSubjectChangerNick
public java.lang.String getSubjectChangerNick()
-
isOccupantInRoom
public boolean isOccupantInRoom(tigase.xmpp.jid.JID jid)
-
getOccupantJidForIqRequestForward
public java.util.Optional<tigase.xmpp.jid.JID> getOccupantJidForIqRequestForward(java.lang.String recipientNickname)
-
getOccupantJidForIqResponseForward
public java.util.Optional<tigase.xmpp.jid.JID> getOccupantJidForIqResponseForward(java.lang.String recipientNickname, java.util.function.Predicate<tigase.xmpp.jid.JID> filter)
-
isRoomLocked
public boolean isRoomLocked()
-
setRoomLocked
public void setRoomLocked(boolean roomLocked)
-
onConfigChanged
public void onConfigChanged(RoomConfig roomConfig, java.util.Set<java.lang.String> modifiedVars)
- Specified by:
onConfigChanged
in interfaceRoomConfig.RoomConfigListener
-
onInitialRoomConfig
public void onInitialRoomConfig(RoomConfig roomConfig)
- Specified by:
onInitialRoomConfig
in interfaceRoomConfig.RoomConfigListener
-
removeListener
public void removeListener(Room.RoomListener listener)
-
removeOccupant
public boolean removeOccupant(tigase.xmpp.jid.JID jid)
- Returns:
true
if no more JIDs assigned to nickname. In other words: nickname is removed
-
removeOccupant
public void removeOccupant(java.lang.String occupantNick)
-
setNewAffiliation
public void setNewAffiliation(tigase.xmpp.jid.BareJID user, RoomAffiliation affiliation)
-
setNewRole
public void setNewRole(java.lang.String nickname, Role newRole)
-
setNewSubject
public void setNewSubject(java.lang.String msg, java.lang.String senderNickname) throws tigase.component.exceptions.RepositoryException
- Throws:
tigase.component.exceptions.RepositoryException
-
setRoomCustomData
public void setRoomCustomData(java.lang.String key, java.lang.Object data)
-
updatePresenceByJid
public void updatePresenceByJid(tigase.xmpp.jid.JID jid, java.lang.String nickname, tigase.xml.Element cp) throws tigase.util.stringprep.TigaseStringprepException
- Throws:
tigase.util.stringprep.TigaseStringprepException
-
getLocalOccupantsJidsByNickname
protected java.util.Collection<tigase.xmpp.jid.JID> getLocalOccupantsJidsByNickname(java.lang.String nickname)
-
getPersistentOccupantsJidsByNickname
protected java.util.Collection<tigase.xmpp.jid.JID> getPersistentOccupantsJidsByNickname(java.lang.String nickname)
-
getPersistentOccupantJidByNickname
protected tigase.xmpp.jid.BareJID getPersistentOccupantJidByNickname(java.lang.String nickname)
-
createAvailableFilter
protected java.util.function.Predicate<tigase.xmpp.jid.BareJID> createAvailableFilter()
-
-