org.jgroups.protocols

## Class Locking.ServerLock

- java.lang.Object
- - org.jgroups.protocols.Locking.ServerLock

Enclosing class:
  Locking

    protected class Locking.ServerLock
    extends java.lang.Object

Server side queue for handling of lock requests (lock, release).

Author:
  Bela Ban

### Field Summary

Fields
`protected Locking.ServerCondition` `condition`
`protected Owner` `current_owner`
`protected java.lang.String` `lock_name`
`protected java.util.List<Locking.Request>` `queue`

### Constructor Summary

Constructors
`` `Locking.ServerLock(java.lang.String lock_name)`
`protected` `Locking.ServerLock(java.lang.String lock_name, Owner owner)`

### Method Summary

Methods
`protected void` `addToQueue(Locking.Request req)`
`protected void` `handleRequest(Locking.Request req)`
`protected void` `handleView(java.util.List<Address> members)`
`boolean` `isEmpty()`
`protected boolean` `isRequestPresent(Locking.Type type, Owner owner)` Checks if a certain request from a given owner is already in the queue
`protected void` `processQueue()`
`protected void` `removeRequest(Locking.Type type, Owner owner)`
`protected void` `setOwner(Owner owner)`
`java.lang.String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### lock_name

    protected final java.lang.String lock_name

#### current_owner

    protected Owner current_owner

#### queue

    protected final java.util.List<Locking.Request> queue

#### condition

    protected final Locking.ServerCondition condition

### Constructor Detail

#### Locking.ServerLock

    public Locking.ServerLock(java.lang.String lock_name)

#### Locking.ServerLock

    protected Locking.ServerLock(java.lang.String lock_name,
                      Owner owner)

### Method Detail

#### handleRequest

    protected void handleRequest(Locking.Request req)

#### handleView

    protected void handleView(java.util.List<Address> members)

#### addToQueue

    protected void addToQueue(Locking.Request req)

#### isRequestPresent

    protected boolean isRequestPresent(Locking.Type type,
                           Owner owner)

Checks if a certain request from a given owner is already in the queue

#### removeRequest

    protected void removeRequest(Locking.Type type,
                     Owner owner)

#### processQueue

    protected void processQueue()

#### setOwner

    protected void setOwner(Owner owner)

#### isEmpty

    public boolean isEmpty()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`