org.codehaus.groovy.util

## Class LockableObject

- java.lang.Object
- - java.util.concurrent.locks.AbstractOwnableSynchronizer
  - - java.util.concurrent.locks.AbstractQueuedSynchronizer
    - - org.codehaus.groovy.util.LockableObject

All Implemented Interfaces:
  java.io.Serializable

Direct Known Subclasses:
  AbstractConcurrentMapBase.Segment, LazyReference

    public class LockableObject
    extends java.util.concurrent.locks.AbstractQueuedSynchronizer

A bit simplified lock designed to be inherited by.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

`java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject`

### Constructor Summary

Constructors
Constructor and Description
`LockableObject()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected boolean` `isHeldExclusively()`
`void` `lock()`
`protected boolean` `tryAcquire(int acquires)`
`protected boolean` `tryRelease(int releases)`
`void` `unlock()`

### Methods inherited from class java.util.concurrent.locks.AbstractQueuedSynchronizer

`acquire, acquireInterruptibly, acquireShared, acquireSharedInterruptibly, compareAndSetState, getExclusiveQueuedThreads, getFirstQueuedThread, getQueuedThreads, getQueueLength, getSharedQueuedThreads, getState, getWaitingThreads, getWaitQueueLength, hasContended, hasQueuedPredecessors, hasQueuedThreads, hasWaiters, isQueued, owns, release, releaseShared, setState, toString, tryAcquireNanos, tryAcquireShared, tryAcquireSharedNanos, tryReleaseShared`

### Methods inherited from class java.util.concurrent.locks.AbstractOwnableSynchronizer

`getExclusiveOwnerThread, setExclusiveOwnerThread`

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

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

### Constructor Detail

#### LockableObject

    public LockableObject()

### Method Detail

#### isHeldExclusively

    protected final boolean isHeldExclusively()

Overrides:
  `isHeldExclusively` in class `java.util.concurrent.locks.AbstractQueuedSynchronizer`

#### lock

    public final void lock()

#### unlock

    public final void unlock()

#### tryAcquire

    protected final boolean tryAcquire(int acquires)

Overrides:
  `tryAcquire` in class `java.util.concurrent.locks.AbstractQueuedSynchronizer`

#### tryRelease

    protected final boolean tryRelease(int releases)

Overrides:
  `tryRelease` in class `java.util.concurrent.locks.AbstractQueuedSynchronizer`