java.lang.Object | ||||
↳ | java.lang.ref.Reference<T> | |||
↳ | java.lang.ref.WeakReference<T> | |||
↳ | com.atlassian.util.concurrent.LazyReference<T> | |||
↳ | com.atlassian.plugin.servlet.util.LazyLoadedReference<V> |
This class is deprecated.
since 2.5.0 use LazyReference directly instead.
Thread-safe lock-less (see note) reference that is not constructed until
required. This class is used to maintain a reference to an object that is
expensive to create and must be constructed once and once only. Therefore
this reference behaves as though the final
keyword has been used
(you cannot reset it once it has been constructed).
create()
method to
return the object this reference will hold.
For instance:
final LazyLoadedReference ref = new LazyLoadedReference() { protected Object create() throws Exception { // Do some useful object construction here return new MyObject(); } };Then call to get a reference to the object:
MyObject myLazyLoadedObject = (MyObject) ref.get()Note: Copied from JIRA com.atlassian.jira.util.concurrent.ThreadsafeLazyLoadedReference and modified to use generics and java.util.concurrent.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.atlassian.util.concurrent.LazyReference
| |||||||||||
From class
java.lang.ref.Reference
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
com.atlassian.util.concurrent.Supplier
|