com.businessobjects.rebean.wi
Interface SynchroManager


public interface SynchroManager

Warning: This interface is no longer functional from the SAP BusinessObjects 4.0 release onwards.

The SynchroManager interface is used to coordinate ReportDictionary data drawn from multiple DataProvider objects.

The fundamental rules for synchronizing ReportExpression instances are:

Since:
11.5
See Also:
ReportDictionary.getSynchroManager(), ObjectType, ObjectQualification, Link

Method Summary
 Link createLink(java.lang.String name, java.lang.String description, ReportExpression expr1, ReportExpression expr2)
          Create a Link to synchronize two or more ReportExpression objects from different DataProvider objects contained in the same DocumentInstance.
 Link getLink(int index)
          Returns the Link object at position index.
 int getLinkCount()
          Returns the number of ReportExpression objects linked in the DocumentInstance object.
 void removeAllLinks()
          Removes all Link objects in the ReportDictionary.
 void removeLink(int index)
          Removes the Link object at position index from the ReportDictionary.
 void removeLink(java.lang.String ID)
          Removes the Link object with the identifier ID from the ReportDictionary
 

Method Detail

getLinkCount

int getLinkCount()
Returns the number of ReportExpression objects linked in the DocumentInstance object.

Returns:
The number of Link objects in the ReportDictionary.

getLink

Link getLink(int index)
Returns the Link object at position index.

Parameters:
index - The position of the Link object to returned.
Returns:
The Link object at the given index.

createLink

Link createLink(java.lang.String name,
                java.lang.String description,
                ReportExpression expr1,
                ReportExpression expr2)
Create a Link to synchronize two or more ReportExpression objects from different DataProvider objects contained in the same DocumentInstance.

The ReportExpression instances to be synchronized should not belong to other Link object. A ReportExpression can belong to only one Link at at time.

Link objects are created automatically for all ReportExpression instances defined on the same universe object and included in a Query. For example: a DocumentInstance is created using 2 DataProvider instances, DP1 and DP2, both instances are based on the beach example universe. Result objects added to Query 1 based on DP1 are "Country" and "Revenue"; Result objects added to Query 2 based on DP2 are "Country" and "Resort". The SynchroManager created by running queries 1 and 2 contains a Link object also named "Country" that has been generated automatically.

Note: By default, the MERGE_DIMENSION PropertiesType for a DocumentInstance is set to true. Change the setting of this property by calling DocumentInstance.getProperties() and DocumentInstance.setProperties(java.util.Properties props).

Parameters:
name - The name of the new Link.
description - A description of the new Link.
expr1 - The ReportExpression from DataProvider 1 that is to be linked with expr2 from DataProvider 2.
expr2 - The ReportExpression from DataProvider 2 that is to be linked with expr1 from DataProvider 1.
Returns:
The new Link object.
Throws:
java.lang.NullPointerException - When expr1 or expr2 is null.
java.lang.IllegalArgumentException - When expr1 and expr2:
  • do not have the same ObjectType
  • do not have a DIMENSION ObjectQualification
When expr1 or expr2 belong to another Link object.
DSObjectSynchroException - Thrown when there already is a Link with the given name (code: RWI 00801).
ServerException - When an invalid Link is defined in the Link collection.

removeLink

void removeLink(int index)
Removes the Link object at position index from the ReportDictionary.

Parameters:
index - The position of Link object to be removed.
Throws:
ServerExeption.

removeLink

void removeLink(java.lang.String ID)
Removes the Link object with the identifier ID from the ReportDictionary

Parameters:
ID - The unique identifier of the Link to be removed.
Throws:
ServerExeption.

removeAllLinks

void removeAllLinks()
Removes all Link objects in the ReportDictionary.

Throws:
ServerExeption.