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;


Reply via email to