Package sfs3.client.entities.managers
Class SFSRoomManager
java.lang.Object
sfs3.client.entities.managers.SFSRoomManager
- All Implemented Interfaces:
IRoomManager
The SFSRoomManager class is the entity in charge of managing the client-side Rooms list. It keeps track of all the Rooms available in the client-side Rooms list and of subscriptions to multiple Room Groups. It also provides various utility methods to look for Rooms by name and id,
retrieve Rooms belonging to a specific Group, etc.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidchangeRoomCapacity(Room room, int maxUsers, int maxSpect) voidchangeRoomName(Room room, String newName) voidchangeRoomPasswordState(Room room, boolean isPassProtected) booleancontainsGroup(String groupId) Indicates whether the specified Group has been subscribed by the client or not.booleancontainsRoom(int id) Indicates whether a Room exists in the Rooms list or not.booleancontainsRoom(String name) Indicates whether a Room exists in the Rooms list or not.booleancontainsRoomInGroup(int roomId, String groupId) Indicates whether the Rooms list contains a Room belonging to the specified Group or not.booleancontainsRoomInGroup(String roomName, String groupId) Indicates whether the Rooms list contains a Room belonging to the specified Group or not.Returns a list of Rooms currently joined by the client.getRoomById(int id) Retrieves a Room object from its id.getRoomByName(String name) Retrieves a Room object from its name.intReturns the current number of Rooms in the Rooms list.Returns the names of Room Groups currently subscribed by the client.Returns a list of Rooms currently "known" by the client.getRoomListFromGroup(String groupId) Retrieves the list of Rooms which are part of the specified Room Group.getUserRooms(User user) Retrieves a list of Rooms joined by the specified user.voidremoveGroup(String groupId) voidremoveRoom(Room room) voidremoveRoomById(int id) voidremoveRoomByName(String name) voidremoveUser(User user) voidupdateRoomList(ISFSArray roomList)
-
Field Details
-
smartFox
-
-
Constructor Details
-
SFSRoomManager
Creates a new SFSRoomManager instance.NOTE: developers never instantiate a SFSRoomManager manually: this is done by the SmartFoxServer 3 API internally. A reference to the existing instance can be retrieved using the SmartFox.getRoomManager() method.
- Parameters:
smartFox- An instance of the SmartFoxServer 3 client API main SmartFox class.- See Also:
-
-
Method Details
-
addRoom
- Specified by:
addRoomin interfaceIRoomManager
-
addRoom
- Specified by:
addRoomin interfaceIRoomManager
-
addGroup
- Specified by:
addGroupin interfaceIRoomManager
-
updateRoomList
- Specified by:
updateRoomListin interfaceIRoomManager- Throws:
SFSException
-
removeGroup
- Specified by:
removeGroupin interfaceIRoomManager
-
containsGroup
Description copied from interface:IRoomManagerIndicates whether the specified Group has been subscribed by the client or not.- Specified by:
containsGroupin interfaceIRoomManager- Parameters:
groupId- The name of the Group.- Returns:
trueif the client subscribed the passed Group.
-
containsRoom
public boolean containsRoom(int id) Description copied from interface:IRoomManagerIndicates whether a Room exists in the Rooms list or not.- Specified by:
containsRoomin interfaceIRoomManager- Parameters:
id- The id of the Room object whose presence in the Rooms list is to be tested.- Returns:
trueif the passed Room exists in the Rooms list.- See Also:
-
containsRoom
Description copied from interface:IRoomManagerIndicates whether a Room exists in the Rooms list or not.- Specified by:
containsRoomin interfaceIRoomManager- Parameters:
name- The name of the Room object whose presence in the Rooms list is to be tested.- Returns:
trueif the passed Room exists in the Rooms list.- See Also:
-
containsRoomInGroup
Description copied from interface:IRoomManagerIndicates whether the Rooms list contains a Room belonging to the specified Group or not.- Specified by:
containsRoomInGroupin interfaceIRoomManager- Parameters:
roomId- The id of the Room object whose presence in the Rooms list is to be tested.groupId- The name of the Group to which the specified Room must belong.- Returns:
trueif the Rooms list contains the passed Room and it belongs to the specified Group.- See Also:
-
containsRoomInGroup
Description copied from interface:IRoomManagerIndicates whether the Rooms list contains a Room belonging to the specified Group or not.- Specified by:
containsRoomInGroupin interfaceIRoomManager- Parameters:
roomName- The name of the Room object whose presence in the Rooms list is to be tested.groupId- The name of the Group to which the specified Room must belong.- Returns:
trueif the Rooms list contains the passed Room and it belongs to the specified Group.- See Also:
-
changeRoomName
- Specified by:
changeRoomNamein interfaceIRoomManager
-
changeRoomPasswordState
- Specified by:
changeRoomPasswordStatein interfaceIRoomManager
-
changeRoomCapacity
- Specified by:
changeRoomCapacityin interfaceIRoomManager
-
getRoomById
Description copied from interface:IRoomManagerRetrieves a Room object from its id.- Specified by:
getRoomByIdin interfaceIRoomManager- Parameters:
id- The id of the Room.- Returns:
- An object representing the requested Room;
nullif no Room object with the passed id exists in the Rooms list. Example
The following example retrieves a Room object and traces its name:int roomId = 3; Room room = sfs.getRoomById(roomId); System.out.println("The name of Room " + roomId + " is " + room.getName()); - See Also:
-
getRoomByName
Description copied from interface:IRoomManagerRetrieves a Room object from its name.- Specified by:
getRoomByNamein interfaceIRoomManager- Parameters:
name- The name of the Room.- Returns:
- An object representing the requested Room;
nullif no Room object with the passed name exists in the Rooms list. Example
The following example retrieves a Room object and traces its id:String roomName = "The Lobby"; Room room = sfs.getRoomByName(roomName); System.out.println("The ID of Room '" + roomName + "' is " + room.getId()); - See Also:
-
getRoomList
Description copied from interface:IRoomManagerReturns a list of Rooms currently "known" by the client. The list contains all the Rooms that are currently joined and all the Rooms belonging to the Room Groups that have been subscribed.NOTE: at login time, the client automatically subscribes all the Room Groups specified in the Zone's Default Room Groups setting.
- Specified by:
getRoomListin interfaceIRoomManager- Returns:
- The list of the available Room objects.
- See Also:
-
getRoomCount
public int getRoomCount()Description copied from interface:IRoomManagerReturns the current number of Rooms in the Rooms list.- Specified by:
getRoomCountin interfaceIRoomManager- Returns:
- The number of Rooms in the Rooms list.
-
getRoomGroups
Description copied from interface:IRoomManagerReturns the names of Room Groups currently subscribed by the client.NOTE: at login time, the client automatically subscribes all the Room Groups specified in the Zone's Default Room Groups setting.
- Specified by:
getRoomGroupsin interfaceIRoomManager- Returns:
- A list of Room Group names.
- See Also:
-
getRoomListFromGroup
Description copied from interface:IRoomManagerRetrieves the list of Rooms which are part of the specified Room Group.- Specified by:
getRoomListFromGroupin interfaceIRoomManager- Parameters:
groupId- The name of the Group.- Returns:
- The list of Room objects belonging to the passed Room Group.
- See Also:
-
getJoinedRooms
Description copied from interface:IRoomManagerReturns a list of Rooms currently joined by the client.- Specified by:
getJoinedRoomsin interfaceIRoomManager- Returns:
- The list of Room objects representing the Rooms currently joined by the client.
- See Also:
-
getUserRooms
Description copied from interface:IRoomManagerRetrieves a list of Rooms joined by the specified user. The list contains only those Rooms "known" by the Room Manager; the user might have joined others the client is not aware of.- Specified by:
getUserRoomsin interfaceIRoomManager- Parameters:
user- A User object representing the user to look for in the current Rooms list.- Returns:
- The list of Rooms joined by the passed user.
-
removeRoom
- Specified by:
removeRoomin interfaceIRoomManager
-
removeRoomById
public void removeRoomById(int id) - Specified by:
removeRoomByIdin interfaceIRoomManager
-
removeRoomByName
- Specified by:
removeRoomByNamein interfaceIRoomManager
-
removeUser
- Specified by:
removeUserin interfaceIRoomManager
-
getSmartFox
- Specified by:
getSmartFoxin interfaceIRoomManager
-