make serializable abstract Lazy template

This commit is contained in:
Mark Harrah
2010-10-30 11:56:40 -04:00
parent 2a68806cc5
commit 730b613007
3 changed files with 28 additions and 2 deletions
@@ -0,0 +1,26 @@
/* sbt -- Simple Build Tool
* Copyright 2010 Mark Harrah
*/
package xsbti.api;
import java.io.ObjectStreamException;
public abstract class AbstractLazy<T> implements Lazy<T>, java.io.Serializable
{
private Object writeReplace() throws ObjectStreamException
{
return new StrictLazy<T>(get());
}
private static final class StrictLazy<T> implements Lazy<T>, java.io.Serializable
{
private final T value;
StrictLazy(T t)
{
value = t;
}
public T get()
{
return value;
}
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
/* sbt -- Simple Build Tool
* Copyright 2008, 2009 Mark Harrah
* Copyright 2010 Mark Harrah
*/
package xsbti.api;