Author: stillalex
Date: Mon May 6 08:26:19 2019
New Revision: 1858758
URL: http://svn.apache.org/viewvc?rev=1858758&view=rev
Log:
OAK-8283 Make LazyValue implement Supplier
Modified:
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/LazyValue.java
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/package-info.java
Modified:
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/LazyValue.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/LazyValue.java?rev=1858758&r1=1858757&r2=1858758&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/LazyValue.java
(original)
+++
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/LazyValue.java
Mon May 6 08:26:19 2019
@@ -16,6 +16,8 @@
*/
package org.apache.jackrabbit.oak.commons;
+import java.util.function.Supplier;
+
/**
* An instances of this class represents a lazy value of type {@code T}.
* {@code LazyValue} implements an evaluate by need semantics:
@@ -24,7 +26,7 @@ package org.apache.jackrabbit.oak.common
* <p>
* {@code LazyValue} instances are thread safe.
*/
-public abstract class LazyValue<T> {
+public abstract class LazyValue<T> implements Supplier<T> {
private volatile T value;
/**
@@ -44,6 +46,7 @@ public abstract class LazyValue<T> {
* Get value. Calls {@link #createValue()} if called for the first time.
* @return the value
*/
+ @Override
public T get () {
// Double checked locking is fine since Java 5 as long as value is
volatile.
// See
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
Modified:
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/package-info.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/package-info.java?rev=1858758&r1=1858757&r2=1858758&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/package-info.java
(original)
+++
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/package-info.java
Mon May 6 08:26:19 2019
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("1.3.0")
+@Version("1.4.0")
package org.apache.jackrabbit.oak.commons;
import org.osgi.annotation.versioning.Version;