Package com.globalmentor.model
Class ReadWriteLockObjectHolder<T>
- java.lang.Object
-
- com.globalmentor.model.AbstractObjectDecorator<T>
-
- com.globalmentor.model.ObjectHolder<T>
-
- com.globalmentor.model.ReadWriteLockObjectHolder<T>
-
- Type Parameters:
T
- The type of object being held.
- All Implemented Interfaces:
java.util.concurrent.locks.ReadWriteLock
public class ReadWriteLockObjectHolder<T> extends ObjectHolder<T> implements java.util.concurrent.locks.ReadWriteLock
An object that holds another object and provides read/write lock access to the object. This is a convenience class that is the equivalent of anObjectHolder
governed by aReadWriteLock
. The object holder itself also functions as read/write lock access.- Author:
- Garret Wilson
-
-
Constructor Summary
Constructors Constructor Description ReadWriteLockObjectHolder()
Default constructor to holdnull
.ReadWriteLockObjectHolder(java.util.concurrent.locks.ReadWriteLock readWriteLock)
Read write lock constructor.ReadWriteLockObjectHolder(T object)
Held object constructor.ReadWriteLockObjectHolder(T object, java.util.concurrent.locks.ReadWriteLock readWriteLock)
Held object and read write lock constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
getObject()
This version returns the object under a read lock.java.util.concurrent.locks.Lock
readLock()
void
setObject(T object)
Sets the held object.java.util.concurrent.locks.Lock
writeLock()
-
Methods inherited from class com.globalmentor.model.ObjectHolder
isPresent
-
Methods inherited from class com.globalmentor.model.AbstractObjectDecorator
equals, hashCode, toString
-
-
-
-
Constructor Detail
-
ReadWriteLockObjectHolder
public ReadWriteLockObjectHolder()
Default constructor to holdnull
.
-
ReadWriteLockObjectHolder
public ReadWriteLockObjectHolder(java.util.concurrent.locks.ReadWriteLock readWriteLock)
Read write lock constructor.- Parameters:
readWriteLock
- The lock for controlling access to the properties.- Throws:
java.lang.NullPointerException
- if the given lock isnull
.
-
ReadWriteLockObjectHolder
public ReadWriteLockObjectHolder(T object)
Held object constructor.- Parameters:
object
- The object to hold.
-
ReadWriteLockObjectHolder
public ReadWriteLockObjectHolder(T object, java.util.concurrent.locks.ReadWriteLock readWriteLock)
Held object and read write lock constructor.- Parameters:
object
- The object to hold.readWriteLock
- The lock for controlling access to the properties.- Throws:
java.lang.NullPointerException
- if the given lock isnull
.
-
-
Method Detail
-
readLock
public java.util.concurrent.locks.Lock readLock()
- Specified by:
readLock
in interfacejava.util.concurrent.locks.ReadWriteLock
-
writeLock
public java.util.concurrent.locks.Lock writeLock()
- Specified by:
writeLock
in interfacejava.util.concurrent.locks.ReadWriteLock
-
getObject
public T getObject()
This version returns the object under a read lock.- Overrides:
getObject
in classObjectHolder<T>
- Returns:
- The held object.
- See Also:
readLock()
-
setObject
public void setObject(T object)
Sets the held object. This version sets the object under a write lock.- Overrides:
setObject
in classObjectHolder<T>
- Parameters:
object
- The object to hold.- See Also:
writeLock()
-
-