com.sap.ip.collaboration.room.api

Interface IRoomInfo

All Superinterfaces:
IRoomInfoReader

public interface IRoomInfo
extends IRoomInfoReader

Interface describing a snapshot of a collaboration room

There are two Interfaces describing a collaboration room: IRoom and this one (IRoomInfo). The difference between both is that IRoom represents the persisted room instance itself whereas IRoomInfo is a snapshot of all properties of a room instance in memory. That means: If you call set...() Methods on an instance of IRoom the new value is applied directly to the room. If you call the same set...() Method on an instance of IRoomInfo the new value is set only in memory and doesn't affect any room at all in the first place.

You can obtain an instance of IRoomInfo in two ways:

To create a new room based on an instance of IRoomInfo you have to call the Rooms API method createRoom(IRoomInfo, boolean).

See Also:
IRoom

Method Summary
 boolean addGroupUsersToRole(IGroup group, IRoomRole role, boolean childMembers)
          Assign all users who are member of a given group to a specific room role.
 boolean addGroupUsersToRoles(IGroup group, IRoomRole[] roles, boolean childMembers)
          Assign all users who are member of a given group to a a set of room roles.
 boolean addRoomParameter(IRoomParameterValue param)
          Add a room parameter
 boolean addRoomParameter(String paramName, String paramDesc, String paramValue, boolean hidden)
          Add a room parameter
 boolean addRoomParameters(IRoomParameterValue[] col)
          Add multiple room parameters
 boolean addUserRoles(IRoomUsers refUsers)
          Copy all user-role assignments from an IRoomUsers object to this object.
 boolean addUserToRole(String userId, IRoomRole role)
          Assign an additional room role to a specific user
 boolean addUserToRoles(String userId, IRoomRole[] roles)
          Assign multiple additional room roles to a specific user
 boolean deleteAllRoomParameters()
          Delete all room parameters
 RoomCreationValidationErrors[] getValidationErrors()
          Get a list of errors ocurring in the consistency validation check.
 boolean removeAllUsers()
          Remove all user from the collaboration room
 boolean removeUser(String userId)
          Remove a user from the collaboration room
 boolean removeUserFromAllRoles(String userId)
          Remove a user from all room roles.
 boolean removeUserFromRole(String userId, IRoomRole role)
          Remove a user from a specific room role
 boolean setCategories(IRoomCategory[] newCategories)
          Set the categories of the collaboration room You can create new instances of IRoomCategory using the IRoomCategoryFactory which you will get using the method IRooms.getRoomCategoryFactory().
 boolean setDescription(String newDescription)
          Set the description of the room
 boolean setName(String newName)
          Set the name of the room
 boolean setOwnerId(String newOwnerId)
          Set the owner of the room
 boolean setPrivacy(RoomPrivacyType newPrivacy)
          Set the privacy type of the room
 boolean setTemplateName(String newTemplateName)
          Set the template name of the room
 boolean validate()
          Validate all entered data.
 
Methods inherited from interface com.sap.ip.collaboration.room.api.IRoomInfoReader
getAdminRoleName, getAllRoomParameterNames, getAllRoomParameters, getAllRoomUserIds, getCategories, getDescription, getId, getInitialRoleName, getName, getOwnerId, getPrivacy, getRoomGroups, getRoomParameter, getRoomUsers, getStructureRid, getTemplateDescription, getTemplateName, getUserRoles, hasPublicRole
 

Method Detail

validate

public boolean validate()
Validate all entered data.

When creating a new collaboration room based on an instance of IRoomInfo there are some consistency checks required. This method checks for missing or inconsistent data in the fields of the instance. This check is done by the system automatically when the createRoom(IRoomInfo, boolean) method is called. And if the check fails the room is not created.

To avoid this situation the validate() method may be called manually prior to the room creation.

Returns:
true if all constraints are fulfilled - false otherwise. In case the return value is false you may call getValidationErrors() to get a List of the actual Errors that have ocurred during the check.

getValidationErrors

public RoomCreationValidationErrors[] getValidationErrors()
Get a list of errors ocurring in the consistency validation check.

Returns:
Array containing all validation errors

setName

public boolean setName(String newName)
Set the name of the room

Parameters:
newName - the new name for the room
Returns:
true if successful, false otherwise

setDescription

public boolean setDescription(String newDescription)
Set the description of the room

Parameters:
newDescription - the new description for the room
Returns:
true if successful, false otherwise

setTemplateName

public boolean setTemplateName(String newTemplateName)
Set the template name of the room

Parameters:
newTemplateName - the name of the new template for the room
Returns:
true if successful, false otherwise

setCategories

public boolean setCategories(IRoomCategory[] newCategories)
Set the categories of the collaboration room

You can create new instances of IRoomCategory using the IRoomCategoryFactory which you will get using the method IRooms.getRoomCategoryFactory().

Parameters:
newCategories - Array containing the new categories for the room
Returns:
true if successful, false otherwise

setOwnerId

public boolean setOwnerId(String newOwnerId)
Set the owner of the room

Parameters:
newOwnerId - the uniqueID of the new owner for the room
Returns:
true if successful, false otherwise

setPrivacy

public boolean setPrivacy(RoomPrivacyType newPrivacy)
Set the privacy type of the room

Returns:
true if successful, false otherwise

deleteAllRoomParameters

public boolean deleteAllRoomParameters()
Delete all room parameters

Returns:
true if successful, false otherwise

addRoomParameter

public boolean addRoomParameter(IRoomParameterValue param)
Add a room parameter

Parameters:
param - the new parameter
Returns:
true if successful, false otherwise

addRoomParameter

public boolean addRoomParameter(String paramName,
                                String paramDesc,
                                String paramValue,
                                boolean hidden)
Add a room parameter

Parameters:
paramName - the name of the new parameter
paramDesc - the description of the new parameter
paramValue - the value of the new parameter
hidden - hidden flag for the new parameter
Returns:
true if successful, false otherwise

addRoomParameters

public boolean addRoomParameters(IRoomParameterValue[] col)
Add multiple room parameters

Parameters:
col - Array containing the new parameters
Returns:
true if successful, false otherwise

addUserToRole

public boolean addUserToRole(String userId,
                             IRoomRole role)
Assign an additional room role to a specific user

Parameters:
userId - the uniqueID of the user
role - the new room role the user should be assigned to
Returns:
true if successful, false otherwise

addUserToRoles

public boolean addUserToRoles(String userId,
                              IRoomRole[] roles)
Assign multiple additional room roles to a specific user

Parameters:
userId - the uniqueID of the user
roles - Array containing the new room roles the user should be assigned to
Returns:
true if successful, false otherwise

addGroupUsersToRole

public boolean addGroupUsersToRole(IGroup group,
                                   IRoomRole role,
                                   boolean childMembers)
Assign all users who are member of a given group to a specific room role. Not the group itself, but its members are assigned to the role. This means if the group is changed later (e.g. new members are invited), this doesn't affect the room role. With the flag childMembers=false only the direct members of the group are assigned. childMembers=true means that also members of sub groups (recursively) are assigned to the room role. If one or more of the group members was already assigned to the given role before the call, this is not an error.

Parameters:
group - the user group
role - the role object
childMembers - false means only direct members of the group are assigned
Returns:
true if the assignment was successful, false otherwise

addGroupUsersToRoles

public boolean addGroupUsersToRoles(IGroup group,
                                    IRoomRole[] roles,
                                    boolean childMembers)
Assign all users who are member of a given group to a a set of room roles. Not the group itself, but its members are assigned to the roles. This means if the group is changed later (e.g. new members are invited), this doesn't affect the room roles. With the flag childMembers=false only the direct members of the group are assigned. childMembers=true means that also members of sub groups (recursively) are assigned to the room roles. If one or more of the group members was already assigned to the given roles before the call, this is not an error.

Parameters:
group - the user group
roles - Array containing the roles for the group users
childMembers - false means only direct members of the group are assigned
Returns:
true if the assignment was successful, false otherwise

addUserRoles

public boolean addUserRoles(IRoomUsers refUsers)
Copy all user-role assignments from an IRoomUsers object to this object. Previously existing assignments on this object are preserved.

Parameters:
refUsers - the IRoomUsers object containing the room-role assignments to be copied

removeUserFromRole

public boolean removeUserFromRole(String userId,
                                  IRoomRole role)
Remove a user from a specific room role

Parameters:
userId - the uniqueID of the user
role - the room role to be removed from the user

removeUserFromAllRoles

public boolean removeUserFromAllRoles(String userId)
Remove a user from all room roles.
This call has the same effect than removing the user from the whole room using the method removeUser(String userId).

Parameters:
userId - the uniqueID of the user to be removed

removeUser

public boolean removeUser(String userId)
Remove a user from the collaboration room

Parameters:
userId - the uniqueID of the user to be removed

removeAllUsers

public boolean removeAllUsers()
Remove all user from the collaboration room



Copyright 2006 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.