From d85f438035fbc8c2e4e0d36aee65ebaee9a3f7e7 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 30 Oct 2010 11:55:47 -0400 Subject: [PATCH] make serializable abstract Lazy template --- .../src/main/java/xsbti/api/AbstractLazy.java | 26 +++++++++++++++++++ interface/src/main/java/xsbti/api/Lazy.java | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 interface/src/main/java/xsbti/api/AbstractLazy.java diff --git a/interface/src/main/java/xsbti/api/AbstractLazy.java b/interface/src/main/java/xsbti/api/AbstractLazy.java new file mode 100644 index 000000000..bd21f166f --- /dev/null +++ b/interface/src/main/java/xsbti/api/AbstractLazy.java @@ -0,0 +1,26 @@ +/* sbt -- Simple Build Tool + * Copyright 2010 Mark Harrah + */ +package xsbti.api; + + import java.io.ObjectStreamException; + +public abstract class AbstractLazy implements Lazy, java.io.Serializable +{ + private Object writeReplace() throws ObjectStreamException + { + return new StrictLazy(get()); + } + private static final class StrictLazy implements Lazy, java.io.Serializable + { + private final T value; + StrictLazy(T t) + { + value = t; + } + public T get() + { + return value; + } + } +} \ No newline at end of file diff --git a/interface/src/main/java/xsbti/api/Lazy.java b/interface/src/main/java/xsbti/api/Lazy.java index 4a5642a01..1ee29b013 100644 --- a/interface/src/main/java/xsbti/api/Lazy.java +++ b/interface/src/main/java/xsbti/api/Lazy.java @@ -1,5 +1,5 @@ /* sbt -- Simple Build Tool - * Copyright 2008, 2009 Mark Harrah + * Copyright 2010 Mark Harrah */ package xsbti.api;