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 interfaceRoom.RoomFactorystatic classRoom.RoomFactoryImplstatic interfaceRoom.RoomListenerstatic interfaceRoom.RoomOccupantListener
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFILTERED_OCCUPANTS_COLLECTIONprotected static java.util.logging.Loggerlogprotected PresenceFilteredpresenceFilteredprotected PresenceStorepresences
-
Constructor Summary
Constructors Modifier Constructor Description protectedRoom(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 voidaddAffiliationByJid(tigase.xmpp.jid.BareJID jid, RoomAffiliation affiliation)voidaddListener(Room.RoomListener listener)voidaddOccupantByJid(tigase.xmpp.jid.JID senderJid, java.lang.String nickName, Role role, tigase.xml.Element pe)voidaddOccupantListener(Room.RoomOccupantListener listener)voidchangeNickName(tigase.xmpp.jid.JID senderJid, java.lang.String nickName)protected java.util.function.Predicate<tigase.xmpp.jid.BareJID>createAvailableFilter()voidfireOnMessageToOccupants(tigase.xmpp.jid.JID fromJID, tigase.server.Packet msg)RoomAffiliationgetAffiliation(java.lang.String nickname)RoomAffiliationgetAffiliation(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.StringgetAvatarHash()RoomConfiggetConfig()java.util.DategetCreationDate()tigase.xmpp.jid.BareJIDgetCreatorJid()java.lang.StringgetDebugInfoOccupants()static RolegetDefaultRole(RoomConfig config, Affiliation affiliation)tigase.xml.ElementgetLastPresenceCopy(tigase.xmpp.jid.BareJID occupantJid, java.lang.String nickname)tigase.xml.ElementgetLastPresenceCopyByJid(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()intgetOccupantsCount()tigase.xmpp.jid.BareJIDgetOccupantsJidByNickname(java.lang.String nickname)java.util.Collection<tigase.xmpp.jid.JID>getOccupantsJidsByNickname(java.lang.String nickname)java.lang.StringgetOccupantsNickname(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.BareJIDgetPersistentOccupantJidByNickname(java.lang.String nickname)protected java.util.Collection<tigase.xmpp.jid.JID>getPersistentOccupantsJidsByNickname(java.lang.String nickname)PresenceFilteredgetPresenceFiltered()RolegetRole(java.lang.String nickname)java.lang.ObjectgetRoomCustomData(java.lang.String key)tigase.xmpp.jid.BareJIDgetRoomJID()java.lang.StringgetSubject()java.util.DategetSubjectChangeDate()java.lang.StringgetSubjectChangerNick()booleanisOccupantInRoom(tigase.xmpp.jid.JID jid)booleanisOccupantOnline(tigase.xmpp.jid.BareJID jid)booleanisRoomLocked()voidonConfigChanged(RoomConfig roomConfig, java.util.Set<java.lang.String> modifiedVars)voidonInitialRoomConfig(RoomConfig roomConfig)voidremoveListener(Room.RoomListener listener)voidremoveOccupant(java.lang.String occupantNick)booleanremoveOccupant(tigase.xmpp.jid.JID jid)voidsetAffiliations(java.util.Map<tigase.xmpp.jid.BareJID,RoomAffiliation> affiliations)voidsetAvatarHash(java.lang.String avatarHash)voidsetNewAffiliation(tigase.xmpp.jid.BareJID user, RoomAffiliation affiliation)voidsetNewRole(java.lang.String nickname, Role newRole)voidsetNewSubject(java.lang.String msg, java.lang.String senderNickname)voidsetRoomCustomData(java.lang.String key, java.lang.Object data)voidsetRoomLocked(boolean roomLocked)voidsetSubjectChangeDate(java.util.Date subjectChangeDate)voidupdatePresenceByJid(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:
onConfigChangedin interfaceRoomConfig.RoomConfigListener
-
onInitialRoomConfig
public void onInitialRoomConfig(RoomConfig roomConfig)
- Specified by:
onInitialRoomConfigin interfaceRoomConfig.RoomConfigListener
-
removeListener
public void removeListener(Room.RoomListener listener)
-
removeOccupant
public boolean removeOccupant(tigase.xmpp.jid.JID jid)
- Returns:
trueif 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()
-
-