SAP NetWeaver '04

com.sap.netweaver.bc.rf.mi.version
Interface IVersionedCollectionManager

[contained in: com.sap.netweaver.bc.rf.par - bc.rf.mi_api.jar]
public interface IVersionedCollectionManager

Read-only interface describing a repository sub manager for the support of versioned collections. For an explanation of terminological conventions, please see IBasicVersioningMananger. In addition to normal vcrs, the version controlled state of a versioned controlled collection contains the local versioned namespace of the collection, i.e. the set of local names of versioned collection members. Since the version history has to keep track of changes of the version controlled state of a vcr, collection versions contain information about the version controlled binding set of the collection. Since collection versions do not have children, they are not collection themselves.

Throughout the documentation of this class, the term 'vcc' will be used to refer to a version controlled collection.

Though this interface is read-only and contains only two simple methods, supporting it has a huge impact on the implementations of the other versioning manager interfaces. While it is quite trivial to keep track of the additional state information in a vcc's version history, the methods IMutableVersioningManager.updateFromVersion() and IMutableVersioningManager.undoCheckout() will become much more complex in the presence of the versioned collection feature, since the restauration of the versioned binding set of a collection has to handle, for example, with namespace collisions and with vcrs sharing version histories. Therefore it is not of much value to support this interface without supporting IAdvancedVersioningManager. TODO mba: explain in detail the semantics of these two methods in the presence of vccs.


Method Summary
 java.util.Set getEclipsedSet(IResourceHandle vccHandle)
          Returns the collection of local member names of the given vcc which are eclipsed by members which are not under version control.
 java.util.Map getVersionControlledBindingMap(IResourceHandle collectionVersionHandle)
          If the given resource handle refers to a version of a vcc, the mapping of version controlled bindings for this version is returned, where the mapping's key set contains the local names of the version controlled internal members of the collection and the value set contains resource handles of the version histories of the version controlled internal members. (for an ordered collection, this will be a SortedMap)
 

Method Detail

getVersionControlledBindingMap

public java.util.Map getVersionControlledBindingMap(IResourceHandle collectionVersionHandle)
                                             throws ResourceException
If the given resource handle refers to a version of a vcc, the mapping of version controlled bindings for this version is returned, where the mapping's key set contains the local names of the version controlled internal members of the collection and the value set contains resource handles of the version histories of the version controlled internal members. (for an ordered collection, this will be a SortedMap)
Parameters:
collectionVersionHandle - a resource handle referring to a version of a version controlled collection
Returns:
the mapping described above
Throws:
ResourceException - if the resource handle is invalid or the operation failed

getEclipsedSet

public java.util.Set getEclipsedSet(IResourceHandle vccHandle)
                             throws ResourceException
Returns the collection of local member names of the given vcc which are eclipsed by members which are not under version control. Eclipsing may occur as a result of the methods IMutableBasicVersioningManager.updateFromVersion() and IMutableBasicVersioningManager.undoCheckOut(), when the server is forced to restore the versioned local namespace from an older version and detects a collision between the local names found in that version and the current local names which refer to resouces not being under version control. After execution of one of these two methods, the concerned binding name will refer to the non-versioncontrolled member of the collection, but when the binding is removed or renamed (for example by deleting or moving the referred resource), the binding name will stay alive, now refering the previously eclipsed version controlled member of the collection. (see RFC3253, section 14.1.1 ).
Parameters:
vccHandle - a resource handle referring to a vcc
Returns:
the Map of internal member names of all vcrs that are currently eclipsed by a non-version-controlled internal member of the collection
Throws:
ResourceException - if the resource handle is invalid or the operation failed

SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
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.