org.sourceforge.jemm.client
Class LockSimulationDatabase

java.lang.Object
  extended by org.sourceforge.jemm.client.LockSimulationDatabase
All Implemented Interfaces:
org.sourceforge.jemm.client.ObjectDatabase, org.sourceforge.jemm.client.ObjectSource, org.sourceforge.jemm.client.TypeRequestHandler

public class LockSimulationDatabase
extends java.lang.Object
implements org.sourceforge.jemm.client.ObjectDatabase

A Database implementation that simulates the asynchronous locking behaviour of a real database with a single listener which ignores the threadId.

Author:
Paul Keeble

Nested Class Summary
static class LockSimulationDatabase.LockEvent
           
 
Constructor Summary
LockSimulationDatabase()
           
 
Method Summary
 void acquireLock(org.sourceforge.jemm.database.ClientThreadId threadId, org.sourceforge.jemm.types.ID jemmId)
           
 org.sourceforge.jemm.database.ClassInfo getClassInfo(org.sourceforge.jemm.database.ClassId classId)
           
 org.sourceforge.jemm.database.EnumInfo getEnumInfo(org.sourceforge.jemm.database.EnumId enumId)
           
 org.sourceforge.jemm.util.JEMMObject getObject(org.sourceforge.jemm.types.ID jemmId)
           
 org.sourceforge.jemm.util.JEMMObject getRefreshedObject(org.sourceforge.jemm.types.ID jemmId)
           
 org.sourceforge.jemm.util.JEMMObject getRoot(java.lang.String rootName)
           
 java.util.List<LockSimulationDatabase.LockEvent> getSent()
           
 org.sourceforge.jemm.types.ID newObject(org.sourceforge.jemm.database.ClassId classId, org.sourceforge.jemm.util.JEMMObject obj)
           
 org.sourceforge.jemm.lifecycle.TypeResponse<?> processTypeRequest(org.sourceforge.jemm.util.JEMMObject jemmObject, org.sourceforge.jemm.database.ClassId classId, org.sourceforge.jemm.lifecycle.TypeRequest<?> request)
           
 void refreshObject(org.sourceforge.jemm.util.JEMMObject obj)
           
 org.sourceforge.jemm.database.ClassId registerClass(org.sourceforge.jemm.database.ClassInfo classInfo)
           
 org.sourceforge.jemm.database.EnumId registerEnum(org.sourceforge.jemm.database.EnumInfo enumInfo)
           
 void releaseLock(org.sourceforge.jemm.database.ClientThreadId threadId, org.sourceforge.jemm.types.ID jemmId)
           
 void removeLockAcquiredListener(org.sourceforge.jemm.database.ClientId clientId)
           
 void sendEvents()
           
 void setClientLockAcquiredListener(org.sourceforge.jemm.database.ClientId clientId, org.sourceforge.jemm.database.LockAcquiredListener listener)
           
 void setRoot(java.lang.String rootName, org.sourceforge.jemm.util.JEMMObject newValue)
           
 org.sourceforge.jemm.util.JEMMObject setRootIfNull(java.lang.String rootName, org.sourceforge.jemm.util.JEMMObject newValue)
           
 void synchroniseObject(org.sourceforge.jemm.util.JEMMObject syncData)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LockSimulationDatabase

public LockSimulationDatabase()
Method Detail

acquireLock

public void acquireLock(org.sourceforge.jemm.database.ClientThreadId threadId,
                        org.sourceforge.jemm.types.ID jemmId)
Specified by:
acquireLock in interface org.sourceforge.jemm.client.ObjectDatabase

sendEvents

public void sendEvents()

setClientLockAcquiredListener

public void setClientLockAcquiredListener(org.sourceforge.jemm.database.ClientId clientId,
                                          org.sourceforge.jemm.database.LockAcquiredListener listener)
Specified by:
setClientLockAcquiredListener in interface org.sourceforge.jemm.client.ObjectDatabase

getSent

public java.util.List<LockSimulationDatabase.LockEvent> getSent()

releaseLock

public void releaseLock(org.sourceforge.jemm.database.ClientThreadId threadId,
                        org.sourceforge.jemm.types.ID jemmId)
Specified by:
releaseLock in interface org.sourceforge.jemm.client.ObjectDatabase

removeLockAcquiredListener

public void removeLockAcquiredListener(org.sourceforge.jemm.database.ClientId clientId)
Specified by:
removeLockAcquiredListener in interface org.sourceforge.jemm.client.ObjectDatabase

getClassInfo

public org.sourceforge.jemm.database.ClassInfo getClassInfo(org.sourceforge.jemm.database.ClassId classId)
Specified by:
getClassInfo in interface org.sourceforge.jemm.client.ObjectDatabase

getEnumInfo

public org.sourceforge.jemm.database.EnumInfo getEnumInfo(org.sourceforge.jemm.database.EnumId enumId)
Specified by:
getEnumInfo in interface org.sourceforge.jemm.client.ObjectDatabase

getObject

public org.sourceforge.jemm.util.JEMMObject getObject(org.sourceforge.jemm.types.ID jemmId)
Specified by:
getObject in interface org.sourceforge.jemm.client.ObjectDatabase
Specified by:
getObject in interface org.sourceforge.jemm.client.ObjectSource

getRoot

public org.sourceforge.jemm.util.JEMMObject getRoot(java.lang.String rootName)
Specified by:
getRoot in interface org.sourceforge.jemm.client.ObjectDatabase

newObject

public org.sourceforge.jemm.types.ID newObject(org.sourceforge.jemm.database.ClassId classId,
                                               org.sourceforge.jemm.util.JEMMObject obj)
Specified by:
newObject in interface org.sourceforge.jemm.client.ObjectDatabase

registerClass

public org.sourceforge.jemm.database.ClassId registerClass(org.sourceforge.jemm.database.ClassInfo classInfo)
                                                    throws org.sourceforge.jemm.database.StructureModifiedException
Specified by:
registerClass in interface org.sourceforge.jemm.client.ObjectDatabase
Throws:
org.sourceforge.jemm.database.StructureModifiedException

registerEnum

public org.sourceforge.jemm.database.EnumId registerEnum(org.sourceforge.jemm.database.EnumInfo enumInfo)
                                                  throws org.sourceforge.jemm.database.StructureModifiedException
Specified by:
registerEnum in interface org.sourceforge.jemm.client.ObjectDatabase
Throws:
org.sourceforge.jemm.database.StructureModifiedException

setRoot

public void setRoot(java.lang.String rootName,
                    org.sourceforge.jemm.util.JEMMObject newValue)
Specified by:
setRoot in interface org.sourceforge.jemm.client.ObjectDatabase

setRootIfNull

public org.sourceforge.jemm.util.JEMMObject setRootIfNull(java.lang.String rootName,
                                                          org.sourceforge.jemm.util.JEMMObject newValue)
Specified by:
setRootIfNull in interface org.sourceforge.jemm.client.ObjectDatabase

synchroniseObject

public void synchroniseObject(org.sourceforge.jemm.util.JEMMObject syncData)
Specified by:
synchroniseObject in interface org.sourceforge.jemm.client.ObjectDatabase

refreshObject

public void refreshObject(org.sourceforge.jemm.util.JEMMObject obj)
Specified by:
refreshObject in interface org.sourceforge.jemm.client.ObjectDatabase

processTypeRequest

public org.sourceforge.jemm.lifecycle.TypeResponse<?> processTypeRequest(org.sourceforge.jemm.util.JEMMObject jemmObject,
                                                                         org.sourceforge.jemm.database.ClassId classId,
                                                                         org.sourceforge.jemm.lifecycle.TypeRequest<?> request)
Specified by:
processTypeRequest in interface org.sourceforge.jemm.client.TypeRequestHandler

getRefreshedObject

public org.sourceforge.jemm.util.JEMMObject getRefreshedObject(org.sourceforge.jemm.types.ID jemmId)
Specified by:
getRefreshedObject in interface org.sourceforge.jemm.client.ObjectDatabase


Copyright © 2009. All Rights Reserved.