1 package org.sourceforge.jemm.database.persistent.berkeley; 2 3 import com.sleepycat.persist.model.Entity; 4 import com.sleepycat.persist.model.PrimaryKey; 5 import com.sleepycat.persist.model.Relationship; 6 import com.sleepycat.persist.model.SecondaryKey; 7 8 import org.sourceforge.jemm.database.ClientId; 9 import org.sourceforge.jemm.database.ClientThreadId; 10 import org.sourceforge.jemm.types.ID; 11 12 @Entity 13 public class ClientLockEntry { 14 15 @PrimaryKey 16 ClientLockKey key; 17 18 @SecondaryKey(relate=Relationship.MANY_TO_ONE) 19 String clientId; 20 21 String threadId; 22 long objectId; 23 24 public ClientLockEntry() {} 25 26 public ClientLockEntry(ClientThreadId clientThreadId,ID objectId) { 27 key = new ClientLockKey(clientThreadId,objectId); 28 this.clientId = clientThreadId.getClientId().getInternalRep(); 29 this.threadId = clientThreadId.getThreadId(); 30 this.objectId = objectId.getIDValue(); 31 } 32 33 public ClientId getClientId() { 34 return new ClientId(clientId); 35 } 36 37 public ID getObjectId() { 38 return new ID(objectId); 39 } 40 41 public ClientThreadId getClientThreadId() { 42 return new ClientThreadId(getClientId(),threadId); 43 } 44 }