Package tigase.muc

Class Room

    • 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
    • Constructor Detail

      • Room

        protected Room​(RoomConfig rc,
                       java.util.Date creationDate,
                       tigase.xmpp.jid.BareJID creatorJid)
    • Method Detail

      • 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
      • 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
      • 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()
      • 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)
      • 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)
      • 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()