org.progeeks.repository
Interface LockManager

All Known Implementing Classes:
DefaultLockManager, WormSharedLockManager

public interface LockManager

Interface that defines lock managers for providing various types of repository item locking.

Version:
$Revision: 1.3 $
Author:
Paul Wisneskey

Method Summary
 void createRepository(java.io.File repositoryDir)
          Method invoked when a new repository is created.
 int getNextItemId()
          Returns the next item id.
 void initialize(java.io.File repositoryDir)
          Initialize the locking manager, obtaining any repository level lock if one is required.
 Lock lockItem(RepositoryItem item, boolean writeLock)
          Lock the given item for reading and/or writing.
 Lock lockItem(java.lang.String itemId, boolean writeLock)
          Lock the given itemId for reading and/or writing.
 void releaseLock(Lock lock)
          Release the lock held on the given item.
 void terminate()
          Terminate the locking manager.
 

Method Detail

initialize

void initialize(java.io.File repositoryDir)
Initialize the locking manager, obtaining any repository level lock if one is required.


createRepository

void createRepository(java.io.File repositoryDir)
Method invoked when a new repository is created. Can be used by the lock manager to set up any persistent storage. Does not actually initialize the lock manager (i.e. initialize will be called after the create).


terminate

void terminate()
Terminate the locking manager.


getNextItemId

int getNextItemId()
Returns the next item id. Id returned must be guaranteed to be unique across all processes acccessing the repository.


lockItem

Lock lockItem(RepositoryItem item,
              boolean writeLock)
Lock the given item for reading and/or writing.


lockItem

Lock lockItem(java.lang.String itemId,
              boolean writeLock)
Lock the given itemId for reading and/or writing.


releaseLock

void releaseLock(Lock lock)
Release the lock held on the given item.



Copyright © 2002-2003 Paul Speed. All Rights Reserved.