|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
Public Interface describing a single collaboration room object
The Room API contains functionality concerning one single room object whereas the Rooms API provides methods concerning all rooms (searching, creation, instantiation...).
This interface is part of the Room API. It is public to all customers. It provides methods for reading room properties and basic methods for room manipulation.
This interface is used only for existing collaboration rooms. For room
creation please see the description of the Interface IRoomInfo in the Rooms API.
| Field Summary | |
static int |
DTN_ITEM_POS_BOTTOM
This value can be used as a parameter of method setPosition(String, int)
to move a room part to the bottom of the DTN |
static int |
DTN_ITEM_POS_TOP
This value can be used as a parameter of method setPosition(String, int)
to move a room part to the top of the DTN |
| Method Summary | |
boolean |
addRoomParameter(com.sap.ip.collaboration.room.api.template.IRoomParameterValue param)
Set a parameter to the room. |
com.sap.netweaver.coll.room.api.roomparts.IRoomPart |
createRoomPartInstance(java.lang.String name,
java.lang.String roomPartTemplate,
com.sap.ip.collaboration.room.api.roomparts.IRoleMapping[] roleMappings,
com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] parameters,
com.sap.ip.collaboration.room.api.roomparts.IParameterMapping[] parameterMappings)
Create a new room part instance from a room part template and attach it to the room |
boolean |
deregisterUserFromCommunity(java.lang.String userId)
Unsubscribe a user from a community. |
com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] |
getAllInternalParameters()
Get all internal room parameters. |
java.lang.String[] |
getAllRoomParameterNames()
Get the parameter names of a room |
com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] |
getAllRoomParameters()
Get the parameters of a room |
java.lang.String[] |
getAllRoomRoleNames()
Get the names of all room roles in the room |
com.sap.ip.collaboration.room.api.template.IRoomRole[] |
getAllRoomRoles()
Get all room roles of a room |
java.lang.String[] |
getAllRoomUserIds()
Get the ids of all users of this room. |
IRoomCategory[] |
getCategories()
Get the categories of a room |
java.util.Date |
getCreationDate()
Get the creation date of a room |
java.lang.String |
getDescription()
Get the description of a room |
java.lang.String |
getId()
Get the id of a room |
java.lang.String |
getInitialRoleName()
Get the name of the Initial Role of the room. |
com.sap.ip.collaboration.room.api.template.IRoomRole |
getInitialRoomRole()
Get an instance of the initial room role |
com.sap.ip.collaboration.room.api.template.IRoomParameterValue |
getInternalParameter(java.lang.String paramName)
Get a specific internal room parameter |
java.util.Date |
getLastModified()
Get the date of the last modification of a room |
java.lang.String |
getName()
Get the name of a room |
java.lang.String |
getOwnerId()
Get the owner of a room |
int |
getPosition(java.lang.String roomPartId)
Get the actual position of a Room Part in the DTN. |
com.sap.ip.collaboration.room.api.types.RoomPrivacyType |
getPrivacyType()
Get the privacy type of a room. Possible privacy types are currently: public (Community, free access), listed (Listed room, invitation upon request), unlisted (Not listed room, access only with invitation) |
java.lang.String |
getProperty(java.lang.String nameSpace,
java.lang.String propName)
Get the value of a custom property of the room. |
java.lang.String |
getRoomAccessURLExternal()
Get an external Access URL for a specific room. |
java.lang.String |
getRoomAccessURLInternal()
Get the internal representation of an access URL of a room. |
com.sap.ip.collaboration.room.api.IRoomStatusEvent[] |
getRoomEvents(long timeStamp,
com.sap.ip.collaboration.room.api.RoomStatusAction[] roomActions,
java.lang.String[] userIds,
int maxResultSize)
Retrieve room events for this room according to the specified search criteria. |
com.sap.ip.collaboration.room.api.IRoomGroups |
getRoomGroups()
Get an instance of IRoomGroups which contains the IDs of all User Management Groups and PrincipalSets related to this room. |
IRoomInfo |
getRoomInfo()
Get some information describing a room encapsulated in an independent object. |
com.sap.ip.collaboration.room.api.template.IRoomParameterValue |
getRoomParameter(java.lang.String paramName)
Get the parameter value of a specific parameter for this room |
com.sap.netweaver.coll.room.api.roomparts.IRoomPart[] |
getRoomParts()
Get all Room Parts contained in this room |
com.sap.ip.collaboration.room.api.template.IRoomRole |
getRoomRole(java.lang.String roleName)
Get a room role instance for a given role name if such a room role exists in the current room |
com.sap.ip.collaboration.room.api.template.IRoomRole[] |
getRoomRolesForUser(java.lang.String userId)
Get the room roles for a specific user in this room |
java.lang.String[] |
getRoomRoleUserIds(java.lang.String roomRoleName)
Get the ids of all users who are member of a specific room role in this room |
java.lang.String |
getRoomStructureRid()
Get the RID of the room structure folder in CM. |
com.sap.ip.collaboration.room.api.IRoomUsageUser[] |
getRoomUsage(long timeStamp,
int listLength)
Returns data on the usage of this per user, ordered by the number of visits (most visiting users first). |
IRoomUsers |
getRoomUsers()
Get all users who are member of any room role in this room. |
com.sap.ip.collaboration.room.api.template.ITemplate |
getTemplate()
Get the room template this room is based on |
java.lang.String |
getTemplateDescription()
Get the template description of a room |
java.lang.String |
getTemplateName()
Get the template name of a room. |
int |
getVersion()
Get the technical version number of a room object. |
boolean |
hasPublicAccess()
Check if there is a public room role in the room which is mapped to at least one page. |
boolean |
hasRoomRole(java.lang.String roomRoleName)
Check if a room role with a given role name exists in the room |
boolean |
isCommunity()
Check if the room is a community |
boolean |
isHidden()
Check if the room is hidden |
boolean |
isListedRoom()
Check if the room is a listed room |
boolean |
isLocked()
Check if the room is locked |
boolean |
isMember(java.lang.String userId)
Tests whether a specific user has access to this room |
boolean |
isPrivacyTypeChangeAllowed()
The room template may define the room privacy type as 'strict' which means that no changes are allowed. |
boolean |
isUnlistedRoom()
Check if the room is a unlisted room |
boolean |
lock()
Lock the current collaboration room |
boolean |
registerUserInCommunity(java.lang.String userId)
Subscribe a user to a community. |
boolean |
removeRoomPartInstance(java.lang.String roomPartInstanceId)
Remove a room part instance from the room |
boolean |
requestMembership(java.lang.String userId)
Request membership for a specific user in a room. |
boolean |
setCategories(IRoomCategory[] newCategories)
Set the categories of the room. |
boolean |
setDescription(java.lang.String description)
Set the description of the room |
boolean |
setHidden(boolean hiddenFlag)
Set the room hide status |
boolean |
setName(java.lang.String name)
Set the name of the room |
boolean |
setOwnerId(java.lang.String newOwnerId)
Set the owner of the room |
boolean |
setOwnerId(java.lang.String newOwnerId,
boolean persist)
Deprecated. use setOwnerId(String newOwnerId) |
int |
setPosition(java.lang.String roomPartId,
int newPosition)
Set the position of a Room Part in the DTN. |
boolean |
setPrivacyType(com.sap.ip.collaboration.room.api.types.RoomPrivacyType newPrivacy)
Set the privacy type of the room if changing the privacy type is allowed. |
boolean |
setProperty(java.lang.String nameSpace,
java.lang.String propName,
java.lang.String propValue)
Set a custom property on the room. |
boolean |
setRoomParameters(com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] newParams)
Change the values for one or more room parameters. |
boolean |
setRoomUsers(IRoomUsers roomUsers,
boolean sendNotifications)
Assign users to the room. |
boolean |
supportsParameterChanges()
Check - depending on the room version - if changing the room parameters is supported or not |
boolean |
supportsRootGroup()
Check - depending on the room version - if a root group containing all room role groups is supported |
boolean |
unlock()
Unlock the current room |
| Field Detail |
public static final int DTN_ITEM_POS_TOP
setPosition(String, int)
to move a room part to the top of the DTNpublic static final int DTN_ITEM_POS_BOTTOM
setPosition(String, int)
to move a room part to the bottom of the DTN| Method Detail |
public java.lang.String getId()
public IRoomInfo getRoomInfo()
IRoomInfo object can be used to query the
properties of a room. The IRoomInfo object contains all information
about the room itselbt, but not the portal related stuff (workset, pages, ...)
and also not the content (folders, documents, ...).
Also you can use this info object to copy rooms: Since room creation is
based on the same Interface IRoomInfo just get this
info object for any existing room, change the properties you want to change
and then create a new collaboration room based on this info object using
the method IRooms.
createRoom(IRoomInfo, boolean).
IRoomInfopublic com.sap.ip.collaboration.room.api.IRoomGroups getRoomGroups()
public java.util.Date getCreationDate()
public java.util.Date getLastModified()
public int getVersion()
RoomVersionException.
A list of all possible versions is available at class
RoomVersion
public boolean isHidden()
setHidden(boolean)public boolean setHidden(boolean hiddenFlag)
hiddenFlag - true means the room will be hidden,
false means the room will be unhiddenpublic boolean isLocked()
IRoomSystem#lock(),
IRoomSystem#unlock()public boolean lock()
unlock(),
isLocked()public boolean unlock()
lock(),
isLocked()public java.lang.String getName()
public boolean setName(java.lang.String name)
name - the new name of the roompublic java.lang.String getDescription()
public boolean setDescription(java.lang.String description)
description - the new description of the roompublic java.lang.String getRoomAccessURLInternal()
Attention: The returned URL is only useful in the portal environment. This means, it cannot be used as a link in an eMail for example.
public java.lang.String getRoomAccessURLExternal()
Note: External Room links generated by this method only work correctly if the server is configured properly. The correct HTTP Protocol, Servername and Port of the machine need to be configured under Collaboration Administration -> Configure Room Backend.
For links in the portal environment getRoomAccessURLInternal() should be used because this is not dependent
on the configuration.
public java.lang.String getRoomStructureRid()
public boolean hasPublicAccess()
public com.sap.ip.collaboration.room.api.template.ITemplate getTemplate()
throws com.sap.ip.collaboration.room.api.Exceptions.TemplateInstantiationException
TemplateInstantiationException - public java.lang.String getTemplateName()
public java.lang.String getTemplateDescription()
public IRoomCategory[] getCategories()
public boolean setCategories(IRoomCategory[] newCategories)
You can create new instances of IRoomCategory using
the IRoomCategoryFactory which you will get
using the method IRooms.getRoomCategoryFactory().
newCategories - Array containing the new Categories of the roompublic java.lang.String getOwnerId()
public com.sap.ip.collaboration.room.api.types.RoomPrivacyType getPrivacyType()
public boolean isPrivacyTypeChangeAllowed()
setPrivacyType()public boolean setPrivacyType(com.sap.ip.collaboration.room.api.types.RoomPrivacyType newPrivacy)
isPrivacyTypeChangeAllowed()newPrivacyType - the new privacy type of the room
public boolean setProperty(java.lang.String nameSpace,
java.lang.String propName,
java.lang.String propValue)
Custom properties are only maintained by the application which created the property itself. Each application should use its own namespace (prefix) for its own properties to make sure that there are no name clashes with other applications.
nameSpace - the NameSpace of the application (max. 450 characters)propName - the name of the custom property (max. 450 characters)propValue - the value of the custom property
public java.lang.String getProperty(java.lang.String nameSpace,
java.lang.String propName)
Custom properties are only maintained by the application which created the property itself. Each application should use its own namespace (prefix) for its own properties to make sure that there are no name clashes with other applications.
nameSpace - the NameSpace of the applicationpropName - the name of the custom propertypublic java.lang.String[] getAllRoomParameterNames()
public com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] getAllRoomParameters()
public com.sap.ip.collaboration.room.api.template.IRoomParameterValue getRoomParameter(java.lang.String paramName)
paramName - the name of the parameter to queryIRoomParameterValue for
the given parameter name of this room objectpublic boolean addRoomParameter(com.sap.ip.collaboration.room.api.template.IRoomParameterValue param)
param - the new parameter of the room
public boolean setRoomParameters(com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] newParams)
throws com.sap.ip.collaboration.room.api.Exceptions.RoomVersionException
This functionality is only supported by room instances with
version >= RoomVersion.VERSION_60_SP2FP. For earlier versions a
RoomVersionException is thrown.
To check whether this feature is available or not for the
current version call supportsParameterChanges()
newParams - a list of parameters to be changedRoomVersionException - public com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] getAllInternalParameters()
These parameters can also be mapped to iView parameters in the room template wizard.
getInternalParameter(String)public com.sap.ip.collaboration.room.api.template.IRoomParameterValue getInternalParameter(java.lang.String paramName)
paramName - the name of the internal room parametergetAllInternalParameters()public boolean setOwnerId(java.lang.String newOwnerId)
newOwnerId - the uniqueID of the new owner for the room
public boolean setOwnerId(java.lang.String newOwnerId,
boolean persist)
newOwnerId - the uniqueID of the new owner for the roompersist - if false, the new value will not be persisted in the backendpublic IRoomUsers getRoomUsers()
You can also use the returned object to modify the users (invite new users,
change roles of existing users or remove users) and then put the modified
object back into the room using the method setRoomUsers(IRoomUsers, boolean). This will commit the changes and the room will
reflect these changes on the user level.
setRoomUsers(IRoomUsers, boolean),
IRoomUsers
public boolean setRoomUsers(IRoomUsers roomUsers,
boolean sendNotifications)
You can create a new instance of IRoomUsers using the
API method IRoomsSystem.createRoomUsersObject()
or you can get an instance of IRoomUsers from any
existing room using the method getRoomUsers(). Such
an instance can be used to modify the users (invite new users, change roles
of existing users or remove users) and then put the modified object back
into the room using the method setRoomUsers(IRoomUsers, boolean). This will
commit the changes and the room will reflect these changes on the user level.
Note: Users who have not been member before the method call will get an invitation email. Users who lose their membership as an effect of the call will also be notified via email.
newRoomUsers - the object containing the new user-role combinationssendNotifications - if true invitation emails will be sent to all room
membersgetRoomUsers(),
IRoomsSystem#createRoomUsersObject(),
IRoomUserspublic java.lang.String[] getAllRoomUserIds()
public java.lang.String[] getRoomRoleUserIds(java.lang.String roomRoleName)
roomRoleName - the name of the room rolepublic boolean isMember(java.lang.String userId)
userId - the uniqueId of the user to be tested
public com.sap.ip.collaboration.room.api.template.IRoomRole getRoomRole(java.lang.String roleName)
throws com.sap.ip.collaboration.room.api.Exceptions.NoSuchRoomRoleException
roleName - public com.sap.ip.collaboration.room.api.template.IRoomRole getInitialRoomRole()
public com.sap.ip.collaboration.room.api.template.IRoomRole[] getRoomRolesForUser(java.lang.String userId)
userId - the uniqueId of the userIRoomRole containing all room roles
the given user is member of in this room.public boolean hasRoomRole(java.lang.String roomRoleName)
roomRoleName - the name of the room rolepublic java.lang.String[] getAllRoomRoleNames()
public com.sap.ip.collaboration.room.api.template.IRoomRole[] getAllRoomRoles()
IRoomRole containing all room role
objects of this room.IRoomRolepublic java.lang.String getInitialRoleName()
public boolean requestMembership(java.lang.String userId)
userId - the uniqueID of the userpublic boolean isCommunity()
public boolean isListedRoom()
public boolean isUnlistedRoom()
public boolean registerUserInCommunity(java.lang.String userId)
userId - the uniqueId of the user to be added.public boolean deregisterUserFromCommunity(java.lang.String userId)
userId - the uniqueId of the user to be removedpublic boolean supportsRootGroup()
public boolean supportsParameterChanges()
public com.sap.netweaver.coll.room.api.roomparts.IRoomPart createRoomPartInstance(java.lang.String name,
java.lang.String roomPartTemplate,
com.sap.ip.collaboration.room.api.roomparts.IRoleMapping[] roleMappings,
com.sap.ip.collaboration.room.api.template.IRoomParameterValue[] parameters,
com.sap.ip.collaboration.room.api.roomparts.IParameterMapping[] parameterMappings)
throws com.sap.netweaver.coll.room.api.roomparts.exceptions.RoomPartCreationException
name - the name for the new instanceroomPartTemplate - the name of the room part templateroleMappings - the mappings from room part roles to room rolesparameters - the parameters for the room part instanceparameterMappings - the mappings from room part parameter to room parameterRoomPartCreationException - public boolean removeRoomPartInstance(java.lang.String roomPartInstanceId)
roomPartInstanceId - the instance id of the room part to be removedpublic com.sap.netweaver.coll.room.api.roomparts.IRoomPart[] getRoomParts()
public int getPosition(java.lang.String roomPartId)
throws com.sap.ip.collaboration.room.api.Exceptions.RoomException
child - the id of the Room PartRoomException -
public int setPosition(java.lang.String roomPartId,
int newPosition)
throws com.sap.ip.collaboration.room.api.Exceptions.RoomException
DTN_ITEM_POS_TOP should be passed
as parameter newPosition.
To set a room part to the last position in the DTN,
DTN_ITEM_POS_BOTTOM should be passed
as parameter newPosition.
If a Room Part is set to position 50 using this method and
there are only 3 elements in the DTN then 2 (counting starts at 0)
is returned and subsequent calls to getPosition(String)
will also return 2.child - the id of the Room PartnewPosition - the new positionRoomException -
public com.sap.ip.collaboration.room.api.IRoomStatusEvent[] getRoomEvents(long timeStamp,
com.sap.ip.collaboration.room.api.RoomStatusAction[] roomActions,
java.lang.String[] userIds,
int maxResultSize)
timeStamp - look for events since this time
specify null to get all StatusActionsroomActions - return only events with the specified RoomStatusAction values,
specify null to get all RoomStatusActionsuserIds - return only events caused by the specified users, specify null to retrieve events by any usermaxResultSize - cut the size of the result to this number, use 0 for default of 100IRoomStatusEvent[] array of events with the specified criteria
public com.sap.ip.collaboration.room.api.IRoomUsageUser[] getRoomUsage(long timeStamp,
int listLength)
timeStamp - time since when to countlistLength - cut the size of the returned array to this value (in case the room has more users)IRoomUsageUser[] usage data per user
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||