com.sap.netweaver.bc.rf.mi.lock

Interface IMutableLockManager

All Superinterfaces:
ILockManager

public interface IMutableLockManager
extends ILockManager

Read-And-Write interface describing a repository sub manager for locking. Resources may be locked shallow or deep (in the resource hierarchy), exclusiv or shared (concerning concurrent access) and for reading or writing. Shallow locks affect only the given resource handle (content, properties, etc. and the namespace, not the resources, below the resource), where deep locks effect also the descendents in the resource hierarchy. Exclusive locks block any other lock from being obtained on the given resource handle and block any unlocked access. Shared locks block any exclusive lock from being obtained on the given resource handle and block any unlocked access too, but allow for further shared locks. Write locks block any other lock from being obtained on the given resource handle and block any unlocked access. Read locks block any write lock from being obtained on the given resource handle and block any unlocked access too, but allow for further read locks.


Method Summary
 ILockInfo lock(IResourceHandle resourceHandle, ILockDescriptor lockDescriptor)
          Lock a resource (content, properties, etc. and the namespace, not the resources, below the resource).
 ILockInfo refreshLock(IResourceHandle resourceHandle, String lockToken)
          Refresh, i.e. reset the timer of the given lock for a given resource handle until the lock is released automatically.
 void unlock(IResourceHandle resourceHandle, String lockToken)
          Unlock a resource (content, properties, etc. and the namespace, not the resources, below the resource).
 
Methods inherited from interface com.sap.netweaver.bc.rf.mi.lock.ILockManager
getLocks
 

Method Detail

lock

public ILockInfo lock(IResourceHandle resourceHandle,
                      ILockDescriptor lockDescriptor)
               throws ResourceException
Lock a resource (content, properties, etc. and the namespace, not the resources, below the resource).

Parameters:
resourceHandle - resource handle
lockDescriptor - lock descriptor object describing the properties of the lock
Returns:
lock info object describing the state of the lock
Throws:
ResourceException - when the lock can't be obtained

unlock

public void unlock(IResourceHandle resourceHandle,
                   String lockToken)
            throws ResourceException
Unlock a resource (content, properties, etc. and the namespace, not the resources, below the resource).

Parameters:
resourceHandle - resource handle
lockToken - lock token identifying the lock
Throws:
ResourceException - when the lock can't be released

refreshLock

public ILockInfo refreshLock(IResourceHandle resourceHandle,
                             String lockToken)
                      throws ResourceException
Refresh, i.e. reset the timer of the given lock for a given resource handle until the lock is released automatically.

Parameters:
resourceHandle - resource handle
lockToken - lock token identifying the lock
Returns:
lock info object describing the new state of the lock
Throws:
ResourceException - when the lock can't be refreshed


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.