00001 00005 package edu.mit.csail.sdg.squander.serializer; 00006 00007 import java.lang.reflect.Field; 00008 import java.util.List; 00009 00010 import edu.mit.csail.sdg.squander.utils.Predicate; 00011 00012 00013 00019 public abstract class AbstractHeap implements IHeap { 00020 00021 public void serialize(HeapListener listener) { 00022 serialize(listener, new Predicate.TruePred<Field>()); 00023 } 00024 00025 @Override 00026 public void serialize(HeapListener listener, Predicate<Field> pred) { 00027 final Serializer s = new Serializer(); 00028 for (Object obj : getHeapObjects()) { 00029 s.serialize(obj, listener, pred); 00030 } 00031 } 00032 00036 protected abstract List<Object> getHeapObjects(); 00037 00038 }