Package tigase.muc

Class Room

java.lang.Object
tigase.muc.Room
All Implemented Interfaces:
RoomConfig.RoomConfigListener
Direct Known Subclasses:
RoomWithId

public class Room extends Object implements RoomConfig.RoomConfigListener
  • Field Details

  • Constructor Details

    • Room

      protected Room(RoomConfig rc, Date creationDate, tigase.xmpp.jid.BareJID creatorJid)
  • Method Details

    • getDefaultRole

      public static Role getDefaultRole(RoomConfig config, Affiliation affiliation)
    • getAvatarHash

      public String getAvatarHash()
    • setAvatarHash

      public void setAvatarHash(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, 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, 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(String nickname)
    • getAffiliations

      public Collection<tigase.xmpp.jid.BareJID> getAffiliations()
    • setAffiliations

      public void setAffiliations(Map<tigase.xmpp.jid.BareJID,RoomAffiliation> affiliations)
    • getAffiliationsMatching

      public Stream<tigase.xmpp.jid.BareJID> getAffiliationsMatching(Predicate<RoomAffiliation> predicate)
    • getAllOccupantsJID

      public Collection<tigase.xmpp.jid.JID> getAllOccupantsJID()
    • getAllOccupantsJidsForMessageDelivery

      public Stream<tigase.xmpp.jid.JID> getAllOccupantsJidsForMessageDelivery()
    • getAllJidsForMessageDelivery

      public Stream<tigase.xmpp.jid.JID> getAllJidsForMessageDelivery()
    • getConfig

      public RoomConfig getConfig()
    • getCreationDate

      public Date getCreationDate()
    • getCreatorJid

      public tigase.xmpp.jid.BareJID getCreatorJid()
    • getDebugInfoOccupants

      public String getDebugInfoOccupants()
    • getLastPresenceCopy

      public tigase.xml.Element getLastPresenceCopy(tigase.xmpp.jid.BareJID occupantJid, String nickname)
    • getLastPresenceCopyByJid

      public tigase.xml.Element getLastPresenceCopyByJid(tigase.xmpp.jid.BareJID occupantJid)
    • getOccupantsCount

      public int getOccupantsCount()
    • getOccupantsBareJids

      public Stream<tigase.xmpp.jid.BareJID> getOccupantsBareJids()
    • getOccupantsJidByNickname

      public tigase.xmpp.jid.BareJID getOccupantsJidByNickname(String nickname)
    • getOccupantsJidsByNickname

      public Collection<tigase.xmpp.jid.JID> getOccupantsJidsByNickname(String nickname)
    • getOccupantsNickname

      public String getOccupantsNickname(tigase.xmpp.jid.JID jid)
    • getOccupantsNicknames

      public Collection<String> getOccupantsNicknames(boolean includePersistent)
    • isOccupantOnline

      public boolean isOccupantOnline(tigase.xmpp.jid.BareJID jid)
    • getOccupantsNicknames

      public Collection<String> getOccupantsNicknames(tigase.xmpp.jid.BareJID bareJid)
    • getPresenceFiltered

      public PresenceFiltered getPresenceFiltered()
    • getRole

      public Role getRole(String nickname)
    • getRoomCustomData

      public Object getRoomCustomData(String key)
    • getRoomJID

      public tigase.xmpp.jid.BareJID getRoomJID()
    • getSubject

      public String getSubject()
    • getSubjectChangeDate

      public Date getSubjectChangeDate()
    • setSubjectChangeDate

      public void setSubjectChangeDate(Date subjectChangeDate)
    • getSubjectChangerNick

      public String getSubjectChangerNick()
    • isOccupantInRoom

      public boolean isOccupantInRoom(tigase.xmpp.jid.JID jid)
    • getOccupantJidForIqRequestForward

      public Optional<tigase.xmpp.jid.JID> getOccupantJidForIqRequestForward(String recipientNickname)
    • getOccupantJidForIqResponseForward

      public Optional<tigase.xmpp.jid.JID> getOccupantJidForIqResponseForward(String recipientNickname, Predicate<tigase.xmpp.jid.JID> filter)
    • isRoomLocked

      public boolean isRoomLocked()
    • setRoomLocked

      public void setRoomLocked(boolean roomLocked)
    • onConfigChanged

      public void onConfigChanged(RoomConfig roomConfig, Set<String> modifiedVars)
      Specified by:
      onConfigChanged in interface RoomConfig.RoomConfigListener
    • onInitialRoomConfig

      public void onInitialRoomConfig(RoomConfig roomConfig)
      Specified by:
      onInitialRoomConfig in interface RoomConfig.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(String occupantNick)
    • setNewAffiliation

      public void setNewAffiliation(tigase.xmpp.jid.BareJID user, RoomAffiliation affiliation)
    • setNewRole

      public void setNewRole(String nickname, Role newRole)
    • setNewSubject

      public void setNewSubject(String msg, String senderNickname) throws tigase.component.exceptions.RepositoryException
      Throws:
      tigase.component.exceptions.RepositoryException
    • setRoomCustomData

      public void setRoomCustomData(String key, Object data)
    • updatePresenceByJid

      public void updatePresenceByJid(tigase.xmpp.jid.JID jid, String nickname, tigase.xml.Element cp) throws tigase.util.stringprep.TigaseStringprepException
      Throws:
      tigase.util.stringprep.TigaseStringprepException
    • getLocalOccupantsJidsByNickname

      protected Collection<tigase.xmpp.jid.JID> getLocalOccupantsJidsByNickname(String nickname)
    • getPersistentOccupantsJidsByNickname

      protected Collection<tigase.xmpp.jid.JID> getPersistentOccupantsJidsByNickname(String nickname)
    • getPersistentOccupantJidByNickname

      protected tigase.xmpp.jid.BareJID getPersistentOccupantJidByNickname(String nickname)
    • createAvailableFilter

      protected Predicate<tigase.xmpp.jid.BareJID> createAvailableFilter()
    • toString

      public String toString()
      Overrides:
      toString in class Object