OpenScape
V3.2, Revision 044 20100322

com.siemens.symphonia.bcom.bcommon.external
Interface BComUser

All Superinterfaces:
ComEndpoint
All Known Subinterfaces:
BComUserInternal
All Known Implementing Classes:
AbstractBComUser, BComUserInternalImpl

public interface BComUser
extends ComEndpoint

Representation of a user.

For each user who is configured to be able doing communication (i.e. a valid ONS device is configured by administration) there is one and only one BComUser object which represents this user. Other users (e.g. administrators) are not known to Basic Communication and therefore no related BComUser objects exists.

The BComUser object serves two purposes:

  1. It denotes the communication endpoint in a communication describing the partner of the communicaton. Therefore it can be the return value of the method getComEndpoint in a ComConnection object.
  2. It is the root of a user view. The method getComSessions gives all communication session belonging to this user view.


Method Summary
 void addConnectionListener(ConnectionListener listener)
          Add a listener for connection oriented events.
 void addDeviceListener(DeviceListener listener)
          Add a listener for device events.
 void addRoutingListener(RoutingListener listener)
          Add a listener for Rules & Routing events.
 ComSession createComSession()
          Creates a new communication session.
 java.util.Iterator getComSessions()
          Get all communication sessions of this user.
 BComDevice getONSDevice()
          Get the ONS (One Number Service) device object of this user.
 EndpointAddress getONSNumber()
          Get the ONS (One Number Service) communication address of this user.
 java.lang.String getUserId()
          Get Symphonia user identification.
 void removeConnectionListener(ConnectionListener listener)
          Remove a listener for connection oriented events.
 void removeDeviceListener(DeviceListener listener)
          Remove a listener for device events.
 void removeRoutingListener(RoutingListener listener)
          Remove a listener for Rules & Routing events.
 void resyncDevices()
          Resynchronize the communication state with the communication system for all devices of this user.
 

Method Detail

getUserId

java.lang.String getUserId()
Get Symphonia user identification.

This identification is the identification stored in Domain Management DB for a user and can therefore be used in the whole system (and accross different services) for uniquely identifying a user.

Returns:
String containing the unique identification of this user.

getONSNumber

EndpointAddress getONSNumber()
Get the ONS (One Number Service) communication address of this user.

Each user must be assigned a public communication address which everybody has to use for reaching this user. This assignement is done by the administrator and can't be changed by the user.

Returns:
ONS address of user.

getONSDevice

BComDevice getONSDevice()
Get the ONS (One Number Service) device object of this user.

Each user must be assigned a public communication address which everybody has to use for reaching this user. This assignement is done by the administrator and can't be changed by the user.

Returns:
ONS device object of user.

createComSession

ComSession createComSession()
Creates a new communication session.

The created ComSession becomes part of the view of this user. It can be used to group multiple Communication together. But it is also possible to create multiple ComSession for one user.

Note:
This method invokes a synchronous service request which implicates:

Returns:
Created ComSession.

getComSessions

java.util.Iterator getComSessions()
Get all communication sessions of this user.

Returns:
Iterator of ComSession objects.

addConnectionListener

void addConnectionListener(ConnectionListener listener)
Add a listener for connection oriented events.

Registers an implementation of the interface ConnectionListener. It is supposed to provide call-back methods for delivering state change events. Such events are sent for all communications the user is involved in. The implementation has to be provided by the client.

It is allowed to use one instance of a ConnectionListener for multiple registrations at different users.

Remark:

If you need to register multiple users at one time please use the method addConnectionListenerForUser. It is much more efficient for multiple users.

Parameters:
listener - Implementation of call-back methods.

removeConnectionListener

void removeConnectionListener(ConnectionListener listener)
Remove a listener for connection oriented events.

It is silently ignored if the listener hasn't been registered by using addConnectionListener. I.e. no exception is thrown and no action takes place.

Parameters:
listener - The listener to remove.

addRoutingListener

void addRoutingListener(RoutingListener listener)
Add a listener for Rules & Routing events.

This method is for routing services only and therefore not documented. Furthermore it is protected by a special role in the authorisation statement and can't be invoked by a normal service or user.

Parameters:
listener - Implementation of call-back methods.

removeRoutingListener

void removeRoutingListener(RoutingListener listener)
Remove a listener for Rules & Routing events.

Parameters:
listener - The RoutingListener to remove.

addDeviceListener

void addDeviceListener(DeviceListener listener)
Add a listener for device events.

Registers an implementation of the interface DeviceListener. It is supposed to provide call-back methods for delivering device related events. Such events are sent for all device assigned to the user. The implementation has to be provided by the client.

It is allowed to use one instance of a DeviceListener for multiple registrations at different users.

Remark:

If you need to register multiple users at one time please use the method addDeviceListenerForUser. It is much more efficient for multiple users.

Parameters:
listener - Implementation of call-back methods.

removeDeviceListener

void removeDeviceListener(DeviceListener listener)
Remove a listener for device events.

It is silently ignored if the listener hasn't been registered by using addDeviceListener. I.e. no exception is thrown and no action takes place.

Parameters:
listener - The listener to remove.

resyncDevices

void resyncDevices()
Resynchronize the communication state with the communication system for all devices of this user.

Allows to trigger a synchronisation between Basic Communication service and the communication system. If a difference is detected the adaption to the state of the communication system is done in a smooth way. I.e. normal event notification is used to update the state of the client.

Notes:

Please use this method with care. It produces a high load to the system.

This method invokes a synchronous service request which implicates:

  • A valid security token with appropriate rights needs to be part of the context.
  • The invoking thread is blocked for a short period of time.


OpenScape
V3.2, Revision 044 20100322

Copyright (c) 2014 Unify, Germany
All rights reserved.

This software is the confidential and proprietary information of Unify, Germany