add Serializable to util classes
[sbp.git] / src / edu / berkeley / sbp / util / IntegerTopology.java
index 71e9df9..316e59c 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
 package edu.berkeley.sbp.util;
 import java.io.*;
 import java.util.*;
@@ -7,7 +9,7 @@ import edu.berkeley.sbp.*;
 import edu.berkeley.sbp.util.*;
 
 /** implementation of <tt>Topology</tt> for any class for which there is a mapping to the <tt>int</tt>s */
-public class IntegerTopology<V> implements Topology<V> {
+public class IntegerTopology<V> implements Topology<V>, Serializable {
 
     private final Range.Set rs;
     private final Functor<V,Integer> f;
@@ -15,6 +17,7 @@ public class IntegerTopology<V> implements Topology<V> {
     private int toInt(V v) { return f==null?((IntegerMappable)v).toInt():f.invoke(v); }
 
     public Range.Set getRanges()         { return new Range.Set(rs); }
+    public Functor<V,Integer> functor() { return f; }
 
     public IntegerTopology(Functor<V,Integer> f)               { this(f, new Range.Set()); }
     public IntegerTopology(Functor<V,Integer> f, V a)          { this(f, f==null?((IntegerMappable)a).toInt():f.invoke(a)); }