org.eclipse.emf.cdo.spi.server
Interface InternalLockManager

All Superinterfaces:
IDurableLockingManager, IRWLockManager<Object,IView>

public interface InternalLockManager
extends IRWLockManager<Object,IView>, IDurableLockingManager

The type of the to-be-locked objects is either CDOIDAndBranch or CDOID, depending on whether branching is supported by the repository or not.

Since:
3.0
Author:
Eike Stepper
No Implement
This interface is not intended to be implemented by clients.
No Extend
This interface is not intended to be extended by clients.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
IRWLockManager.LockType
 
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.common.lock.IDurableLockingManager
IDurableLockingManager.LockArea, IDurableLockingManager.LockAreaNotFoundException, IDurableLockingManager.LockGrade
 
Field Summary
 
Fields inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
NO_WAIT, WAIT
 
Method Summary
 IDurableLockingManager.LockArea createLockArea(InternalView view)
           
 Object getLockEntryObject(Object key)
           
 Object getLockKey(CDOID id, CDOBranch branch)
           
 CDOID getLockKeyID(Object key)
           
 Map<CDOID,IDurableLockingManager.LockGrade> getLocks(IView view)
           
 InternalRepository getRepository()
           
 void lock(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout)
           
 IView openView(ISession session, int viewID, boolean readOnly, String durableLockingID)
           
 void setRepository(InternalRepository repository)
           
 void unlock(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock)
          Attempts to release for a given locktype, view and objects.
 void unlock(boolean explicit, IView context)
          Attempts to release all locks(read and write) for a given view.
 
Methods inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
hasLock, hasLockByOthers, lock, lock, unlock, unlock
 
Methods inherited from interface org.eclipse.emf.cdo.common.lock.IDurableLockingManager
createLockArea, deleteLockArea, getLockArea, getLockAreas
 

Method Detail

getRepository

InternalRepository getRepository()

setRepository

void setRepository(InternalRepository repository)

getLockEntryObject

Object getLockEntryObject(Object key)
Since:
4.0

getLockKey

Object getLockKey(CDOID id,
                  CDOBranch branch)
Since:
4.0

getLockKeyID

CDOID getLockKeyID(Object key)
Since:
4.0

getLocks

Map<CDOID,IDurableLockingManager.LockGrade> getLocks(IView view)
Since:
4.0

lock

void lock(boolean explicit,
          IRWLockManager.LockType type,
          IView context,
          Collection<? extends Object> objectsToLock,
          long timeout)
          throws InterruptedException
Throws:
InterruptedException
Since:
4.0

unlock

void unlock(boolean explicit,
            IRWLockManager.LockType type,
            IView context,
            Collection<? extends Object> objectsToUnlock)
Attempts to release for a given locktype, view and objects.

Throws:
IllegalMonitorStateException - Unlocking objects without lock.
Since:
4.0

unlock

void unlock(boolean explicit,
            IView context)
Attempts to release all locks(read and write) for a given view.

Since:
4.0

createLockArea

IDurableLockingManager.LockArea createLockArea(InternalView view)
Since:
4.0

openView

IView openView(ISession session,
               int viewID,
               boolean readOnly,
               String durableLockingID)
Since:
4.0


Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.