Modifier and Type | Field and Description |
---|---|
private long |
containerId |
private long |
segmentId |
Constructor and Description |
---|
ContainerKey(long segmentId,
long containerId)
Create a new ContainerKey
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
long |
getContainerId()
Return my identifier within the segment
|
long |
getSegmentId()
Return my segment identifier
|
int |
hashCode() |
boolean |
lockAttributes(int flag,
java.util.Hashtable<java.lang.String,java.lang.Object> attributes)
This lockable wants to participate in the Virtual Lock table.
|
boolean |
lockerAlwaysCompatible()
This method will only be called if requestCompatible returned false.
|
void |
lockEvent(Latch lockInfo)
Note the fact the object is locked.
|
boolean |
match(java.lang.Object key)
Return true if the passed in object matches
this object.
|
static ContainerKey |
read(java.io.ObjectInput in) |
boolean |
requestCompatible(java.lang.Object requestedQualifier,
java.lang.Object grantedQualifier)
Return true if the requested qualifier is compatible with the already granted
qualifier.
|
java.lang.String |
toString() |
void |
unlockEvent(Latch lockInfo)
Note that the object has been unlocked
Must only be called by the lock manager.
|
void |
writeExternal(java.io.ObjectOutput out) |
public ContainerKey(long segmentId, long containerId)
public long getContainerId()
public long getSegmentId()
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
java.io.IOException
public static ContainerKey read(java.io.ObjectInput in) throws java.io.IOException
java.io.IOException
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public boolean match(java.lang.Object key)
Matchable
public void lockEvent(Latch lockInfo)
Lockable
If the class supports multiple lockers of the object then this method will be called once per locker, each with their own qualifier.
Must only be called by the lock manager. Synchronization will be handled by the lock manager.
public boolean requestCompatible(java.lang.Object requestedQualifier, java.lang.Object grantedQualifier)
Lockable
requestCompatible
in interface Lockable
public boolean lockerAlwaysCompatible()
lockerAlwaysCompatible
in interface Lockable
public void unlockEvent(Latch lockInfo)
Lockable
Must only be called by the lock manager. Synchronization will be handled by the lock manager.
unlockEvent
in interface Lockable
public boolean lockAttributes(int flag, java.util.Hashtable<java.lang.String,java.lang.Object> attributes)
lockAttributes
in interface Lockable
flag
- use the bits in this int to decide if the user is
interested in this kind of lockable object. The bits are defined in
VirtualLockTable. For instance, the user may only ask
for TABLE_AND_ROWLOCK and if this is not a table or row lock, then
don't participate.attributes
- if this decides to participate, put all relevant
attributes into the Hashtable. The complete list of interesting
attributes is listed in VirtualLockTable.
The following attributes must be present for all participating
lockables:
VirtualLockTable.LOCKNAME,
VirtualLockTable.LOCKTYPE,
either VirtualLockTable.CONTAINERID or VirtualLockTable.CONGLOMID,
MT - this routine must be MP safe, caller will not be single threading the lock manager.
VirtualLockTable
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.