incubator-kato-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From spo...@apache.org
Subject svn commit: r831858 [1/2] - in /incubator/kato/branches/experimental/thirdview/org.apache.kato: kato.api/src/main/java/javax/tools/diagnostics/runtime/java/ kato.api/src/test/java/test/apache/kato/ kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaru...
Date Mon, 02 Nov 2009 10:58:12 GMT
Author: spoole
Date: Mon Nov  2 10:58:10 2009
New Revision: 831858

URL: http://svn.apache.org/viewvc?rev=831858&view=rev
Log:
bulk updates to API to replace list with queryresult

Added:
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/AbstractCorruptEntity.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptImageSection.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMClass.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMStackFrame.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaObject.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaReference.java
Modified:
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClass.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClassLoader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMHeap.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMInitArgs.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMethod.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMonitor.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMObject.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMRuntime.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMStackFrame.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMThread.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/Model.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/reader/CJVMTIBinReader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/IJavaHeapInternal.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassLoaderImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaHeapImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaObjectArrayImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaRuntimeImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaStackFrameImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaSyntheticPrimitiveArrayImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaThreadImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/test/java/test/apache/kato/hprof/java/TestJavaRuntime.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.reader/src/main/java/org/apache/kato/hprof/HProfView.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.reader/src/main/java/org/apache/kato/hprof/IJavaClassLoader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jdi/src/main/java/org/apache/kato/tools/jdi/KatoReader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.jvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tck/tests/javaruntime/TestJavaRuntimeThreads.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tests/junit/JavaClassLoaderTest.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tests/junit/JavaClassTest.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tests/junit/JavaFieldTest.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tests/junit/JavaLocationTest.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tck.testsuite/src/main/java/org/apache/kato/tests/junit/JavaObjectTest.java
    incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.tools.katoview/src/main/java/org/apache/kato/katoview/commands/helpers/KatoSearch.java

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClass.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClass.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClass.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClass.java Mon Nov  2 10:58:10 2009
@@ -13,8 +13,8 @@
  ******************************************************************************/
 package javax.tools.diagnostics.runtime.java;
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.ImagePointer;
 
@@ -96,7 +96,7 @@
      * @see JVMClassLoader#findClass(String)
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<String> getInterfaces();
+    QueryResult<String> getInterfaces();
     
     /**
      * <p>
@@ -143,7 +143,7 @@
      * @see JVMField
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMField> getDeclaredFields();
+    QueryResult<JVMField> getDeclaredFields();
     
     /**
      * <p>Get the set of methods declared in this class.</p>
@@ -156,7 +156,7 @@
      * @see JVMMethod
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMMethod> getDeclaredMethods();
+    QueryResult<JVMMethod> getDeclaredMethods();
     
     /**
      * <p>
@@ -191,7 +191,7 @@
      * @see JVMObject
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMObject> getConstantPoolReferences();
+    QueryResult<JVMObject> getConstantPoolReferences();
     
     /**
      * <p>
@@ -228,7 +228,7 @@
 	 * @see javax.tools.diagnostics.runtime.java.JVMReference
 	 * @see javax.tools.diagnostics.image.CorruptData
 	 */
-	List<JVMReference> getReferences();
+	QueryResult<JVMReference> getReferences();
     
 	/**
 	 * @param obj

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClassLoader.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClassLoader.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClassLoader.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMClassLoader.java Mon Nov  2 10:58:10 2009
@@ -14,8 +14,8 @@
 package javax.tools.diagnostics.runtime.java;
 
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 
 
@@ -57,7 +57,7 @@
      * @return an list of classes which are defined in this JavaClassLoader 
      * @see JVMClass
      */
-    List<JVMClass> getDefinedClasses();
+    QueryResult<JVMClass> getDefinedClasses();
     
     /**
      * <p>
@@ -76,7 +76,7 @@
      * 
      * @see JVMClass
      */
-    List<JVMClass> getCachedClasses();
+    QueryResult<JVMClass> getCachedClasses();
     
     /**
      * <p>

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMHeap.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMHeap.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMHeap.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMHeap.java Mon Nov  2 10:58:10 2009
@@ -13,8 +13,8 @@
  ******************************************************************************/
 package javax.tools.diagnostics.runtime.java;
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.ImageSection;
 
 /**
@@ -44,7 +44,7 @@
      * 
      * @see javax.tools.diagnostics.image.ImageSection
      */
-    List<ImageSection> getSections();
+    QueryResult<ImageSection> getSections();
     
     /**
      * Get a brief textual description of this heap.
@@ -67,7 +67,7 @@
      * 
      * @see JVMObject
      */
-    List<JVMObject> getObjects();
+    QueryResult<JVMObject> getObjects();
     
 	/**
 	 * @param obj

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMInitArgs.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMInitArgs.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMInitArgs.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMInitArgs.java Mon Nov  2 10:58:10 2009
@@ -13,8 +13,8 @@
  ******************************************************************************/
 package javax.tools.diagnostics.runtime.java;
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 
@@ -82,6 +82,6 @@
 	 * 
 	 * @see JVMOption
 	 */
-	List<JVMOption> getOptions() throws DataUnavailable;
+	QueryResult<JVMOption> getOptions() throws DataUnavailable;
 
 }

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMethod.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMethod.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMethod.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMethod.java Mon Nov  2 10:58:10 2009
@@ -13,8 +13,8 @@
  ******************************************************************************/
 package javax.tools.diagnostics.runtime.java;
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.ImageSection;
 
 
@@ -44,7 +44,7 @@
      * 
      * @see javax.tools.diagnostics.image.ImageSection
      */
-    List<ImageSection> getBytecodeSections();
+    QueryResult<ImageSection> getBytecodeSections();
 
     /**
      * <p>
@@ -60,7 +60,7 @@
      * @see javax.tools.diagnostics.image.ImageSection
      * 
      */
-    List<ImageSection> getCompiledSections();
+    QueryResult<ImageSection> getCompiledSections();
     
     
     /**
@@ -74,7 +74,7 @@
      * @return List of JavaVariable objects available
      *  
      */
-    List<JVMVariable> getVariables();  
+    QueryResult<JVMVariable> getVariables();  
     
 	/**
 	 * @param obj

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMonitor.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMonitor.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMonitor.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMMonitor.java Mon Nov  2 10:58:10 2009
@@ -14,8 +14,8 @@
 package javax.tools.diagnostics.runtime.java;
 
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.ImagePointer;
 
@@ -91,7 +91,7 @@
      * @see JVMThread
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMThread> getEnterWaiters();
+    QueryResult<JVMThread> getEnterWaiters();
     
     /**
      * <p>Get the set of threads waiting to be notified on the monitor. 
@@ -104,7 +104,7 @@
      * @see JVMThread
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMThread> getNotifyWaiters();
+    QueryResult<JVMThread> getNotifyWaiters();
     
     /**
      * <p>Get the identifier for this monitor.</p>

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMObject.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMObject.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMObject.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMObject.java Mon Nov  2 10:58:10 2009
@@ -14,8 +14,8 @@
 package javax.tools.diagnostics.runtime.java;
 
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -168,7 +168,7 @@
      * 
      * @see ImageSection
      */
-    List<ImageSection> getSections();
+    QueryResult<ImageSection> getSections();
     
 	/**
 	 * <p>Get the set of references from this object.</p>
@@ -180,7 +180,7 @@
 	 * @see javax.tools.diagnostics.runtime.java.JVMReference
 	 *
 	 */
-	List<JVMReference> getReferences();
+	QueryResult<JVMReference> getReferences();
     
     /**
      * <p>Gets the heap where this object is located.</p>

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMRuntime.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMRuntime.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMRuntime.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMRuntime.java Mon Nov  2 10:58:10 2009
@@ -15,8 +15,8 @@
 
 
 import java.io.File;
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -75,7 +75,7 @@
      * 
      * @see JVMClassLoader
      */
-    List<JVMClassLoader> getJavaClassLoaders();
+    QueryResult<JVMClassLoader> getJavaClassLoaders();
     
     /**
      * Get the set of Java Threads that have been started {@link java.lang.Thread#start()} in this Java Virtual Machine instance.
@@ -91,7 +91,7 @@
      * @see JVMThread
      */
     
-    List<JVMThread> getThreads();
+    QueryResult<JVMThread> getThreads();
     
     /**
      * Get the set of JavaMethod objects that have been compiled.  
@@ -109,7 +109,7 @@
      * 
      * @see JVMMethod
      */
-    List<JVMMethod> getCompiledMethods();
+    QueryResult<JVMMethod> getCompiledMethods();
     
     /**
      * Provides access to the collection of monitors used in the Java Virtual Machine. This 
@@ -127,7 +127,7 @@
      * @see JVMMonitor
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMMonitor> getMonitors();
+    QueryResult<JVMMonitor> getMonitors();
     
     /**
      * Get the set of heaps known by the Java Virtual Machine
@@ -143,7 +143,7 @@
      * @see JVMHeap
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<JVMHeap> getHeaps();
+    QueryResult<JVMHeap> getHeaps();
     
     /**
      * Get the complete set of object and class roots known to the Java Virtual Machine
@@ -159,7 +159,7 @@
      * @see javax.tools.diagnostics.image.CorruptData
      * 
      */
-    List<JVMReference> getHeapRoots();
+    QueryResult<JVMReference> getHeapRoots();
     
     /**
      * @remove candidate for removal as its an arbitary implementation specific method

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMStackFrame.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMStackFrame.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMStackFrame.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMStackFrame.java Mon Nov  2 10:58:10 2009
@@ -14,8 +14,8 @@
 package javax.tools.diagnostics.runtime.java;
 
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -63,7 +63,7 @@
 	 * 
      * @return a list of JavaReferences
      */
-	List<JVMReference> getHeapRoots();                      
+	QueryResult<JVMReference> getHeapRoots();                      
 
 	/**
 	 * 
@@ -96,7 +96,7 @@
 	 * 
 	 */
 
-	List<JVMVariable> getVariables(); 
+	QueryResult<JVMVariable> getVariables(); 
 
 	/**
 	 * @param obj

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMThread.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMThread.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMThread.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JVMThread.java Mon Nov  2 10:58:10 2009
@@ -14,8 +14,8 @@
 package javax.tools.diagnostics.runtime.java;
 
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -158,7 +158,7 @@
      * @see javax.tools.diagnostics.image.ImageThread#getStackSections()
      * @see javax.tools.diagnostics.image.CorruptData
      */
-    List<ImageSection> getStackSections();
+    QueryResult<ImageSection> getStackSections();
     
     /**
      * <p>Get the set of stack frames.</p>
@@ -176,7 +176,7 @@
      * @see JVMStackFrame
      * 
      */
-    List<JVMStackFrame> getStackFrames();
+    QueryResult<JVMStackFrame> getStackFrames();
     
     /**
      * <p>Return the name of the thread.</p>

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java Mon Nov  2 10:58:10 2009
@@ -16,7 +16,6 @@
 import java.io.File;
 import java.io.IOException;
 import java.net.InetAddress;
-import java.util.List;
 
 import javax.tools.diagnostics.FactoryRegistry;
 import javax.tools.diagnostics.QueryResult;
@@ -89,25 +88,25 @@
 	private final class MockRuntime implements JVMRuntime {
 
 		@Override
-		public List<JVMMethod> getCompiledMethods() {
+		public QueryResult<JVMMethod> getCompiledMethods() {
 			// TODO Auto-generated method stub
 			return null;
 		}
 
 		@Override
-		public List<JVMReference> getHeapRoots() {
+		public QueryResult<JVMReference> getHeapRoots() {
 			// TODO Auto-generated method stub
 			return null;
 		}
 
 		@Override
-		public List<JVMHeap> getHeaps() {
+		public QueryResult<JVMHeap> getHeaps() {
 			// TODO Auto-generated method stub
 			return null;
 		}
 
 		@Override
-		public List<JVMClassLoader> getJavaClassLoaders() {
+		public QueryResult<JVMClassLoader> getJavaClassLoaders() {
 			// TODO Auto-generated method stub
 			return null;
 		}
@@ -126,7 +125,7 @@
 		}
 
 		@Override
-		public List<JVMMonitor> getMonitors() {
+		public QueryResult<JVMMonitor> getMonitors() {
 			// TODO Auto-generated method stub
 			return null;
 		}
@@ -140,7 +139,7 @@
 		}
 
 		@Override
-		public List<JVMThread> getThreads() {
+		public QueryResult<JVMThread> getThreads() {
 			// TODO Auto-generated method stub
 			return null;
 		}

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java Mon Nov  2 10:58:10 2009
@@ -20,6 +20,7 @@
 import java.util.List;
 import java.util.logging.Level;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -34,6 +35,8 @@
 import javax.tools.diagnostics.runtime.java.JVMThread;
 import javax.tools.diagnostics.runtime.java.JVMInitArgs;
 
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 import org.apache.kato.jvmti.javaruntime.model.EmptyList;
 import org.apache.kato.jvmti.javaruntime.model.Model;
 import org.apache.kato.jvmti.reader.CLogger;
@@ -51,28 +54,28 @@
 	}
 	
 	@Override
-	public List<JVMMethod> getCompiledMethods() {
-		return new EmptyList<JVMMethod>();
+	public QueryResult<JVMMethod> getCompiledMethods() {
+		return new EmptyQueryResult<JVMMethod>();
 	}
 
 	@Override
-	public List<JVMReference> getHeapRoots() {
-		return new EmptyList<JVMReference>();
+	public QueryResult<JVMReference> getHeapRoots() {
+		return new EmptyQueryResult<JVMReference>();
 	}
 
 	private List<JVMHeap> heap = null;
 	@Override
-	public List<JVMHeap> getHeaps() {
+	public QueryResult<JVMHeap> getHeaps() {
 		 if (heap == null) {
 			 heap = new LinkedList<JVMHeap>();
 			 heap.add(model.getHeap());
 		 }
-		 return heap;
+		 return new ListBackedQueryResult<JVMHeap>( heap);
 	}
 
 	@Override
-	public List<JVMClassLoader> getJavaClassLoaders() {		
-		return model.getJavaClassLoader();
+	public QueryResult<JVMClassLoader> getJavaClassLoaders() {		
+		return  model.getJavaClassLoader();
 	}
 
 	@Override
@@ -87,7 +90,7 @@
 	}
 
 	@Override
-	public List<JVMMonitor> getMonitors() {		
+	public QueryResult<JVMMonitor> getMonitors() {		
 		return model.getJavaMonitors();
 	}
 
@@ -108,8 +111,8 @@
 	}
 
 	@Override
-	public List<JVMThread> getThreads() {		
-		return model.getThreads();
+	public QueryResult<JVMThread> getThreads() {		
+		return new ListBackedQueryResult<JVMThread>( model.getThreads());
 	}
 
 	@Override

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java Mon Nov  2 10:58:10 2009
@@ -17,11 +17,18 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.ImagePointer;
 import javax.tools.diagnostics.runtime.java.JVMClass;
 import javax.tools.diagnostics.runtime.java.JVMClassLoader;
+import javax.tools.diagnostics.runtime.java.JVMField;
+import javax.tools.diagnostics.runtime.java.JVMMethod;
 import javax.tools.diagnostics.runtime.java.JVMObject;
+import javax.tools.diagnostics.runtime.java.JVMReference;
+
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 
 public class JClass implements JVMClass {
 	/**
@@ -53,9 +60,9 @@
 	public int nameLength = 0;
 	public String classSig = null;
 	public String sourceFile;
-	private List<JClass> interfaces = null;
-	private List<JMethod> methods = null;
-	private ObjectMapList<Long, JField> fields = null;
+	private List<JVMClass> interfaces = null;
+	private List<JVMMethod> methods = null;
+	private ObjectMapList<Long, JVMField> fields = null;
 	public int locIn; // remove this
 
 	@Override
@@ -65,7 +72,7 @@
 
 	public void addInterface(JClass face) {
 		if (interfaces == null) {
-			interfaces = new LinkedList<JClass>();
+			interfaces = new LinkedList<JVMClass>();
 		}
 		interfaces.add(face);
 
@@ -73,7 +80,7 @@
 
 	public void addMethod(JMethod m) {
 		if (methods == null) {
-			methods = new LinkedList<JMethod>();
+			methods = new LinkedList<JVMMethod>();
 		}
 		m.setParent(this);
 		methods.add(m);
@@ -86,24 +93,27 @@
 	}
 
 	@Override
-	public List getConstantPoolReferences() {
-		return new LinkedList();
+	public QueryResult<JVMObject> getConstantPoolReferences() {
+		return new EmptyQueryResult<JVMObject>();
 
 	}
 
 	@Override
-	public List getDeclaredFields() {
+	public QueryResult<JVMField> getDeclaredFields() {
 
-		if (fields == null)
-			fields = new ObjectMapList<Long, JField>();
-		return fields.values();
+		if (fields == null) {
+			fields = new ObjectMapList<Long, JVMField>();
+		}
+		List<JVMField> list=fields.values();
+		
+		return new ListBackedQueryResult<JVMField>(list);
 	}
 
 	@Override
-	public List getDeclaredMethods() {
+	public QueryResult<JVMMethod> getDeclaredMethods() {
 		if (methods == null)
-			methods = new LinkedList<JMethod>();
-		return methods;
+			methods = new LinkedList<JVMMethod>();
+		return new ListBackedQueryResult<JVMMethod>( methods);
 	}
 
 	@Override
@@ -113,11 +123,11 @@
 	}
 
 	@Override
-	public List getInterfaces() {
+	public QueryResult<String> getInterfaces() {
 		// TODO implement this
 		LinkedList<String> interfaceNames = new LinkedList<String>();
 		if (interfaces != null) {
-			for (JClass interfaceClass : interfaces) {
+			for (JVMClass interfaceClass : interfaces) {
 				try {
 					interfaceNames.add(interfaceClass.getName());
 				} catch (CorruptDataException e) {
@@ -126,7 +136,7 @@
 				}
 			}
 		}
-		return interfaceNames;
+		return  new ListBackedQueryResult<String>( interfaceNames );
 	}
 
 	@Override
@@ -150,8 +160,8 @@
 	}
 
 	@Override
-	public List getReferences() {
-		return new LinkedList();
+	public QueryResult<JVMReference> getReferences() {
+		return new EmptyQueryResult<JVMReference>();
 	}
 
 	@Override
@@ -167,15 +177,15 @@
 	public JField getField(long id) {
 
 		if (fields == null) {
-			fields = new ObjectMapList<Long, JField>();
+			fields = new ObjectMapList<Long, JVMField>();
 		}
 
-		JField f = fields.get(id);
+		JVMField f = fields.get(id);
 		if (f == null) {
 			f = new JField(this, id);
 			fields.put(id, f);
 		}
-		return f;
+		return (JField) f;
 
 	}
 

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java Mon Nov  2 10:58:10 2009
@@ -17,11 +17,15 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.runtime.java.JVMClass;
 import javax.tools.diagnostics.runtime.java.JVMClassLoader;
 import javax.tools.diagnostics.runtime.java.JVMObject;
 
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
+
 public class JClassLoader implements JVMClassLoader {
 
 	private List<JVMClass> classes=null;
@@ -42,14 +46,14 @@
 	}
 
 	@Override
-	public List<JVMClass> getCachedClasses() {
-		return new EmptyList<JVMClass>();
+	public QueryResult<JVMClass> getCachedClasses() {
+		return new EmptyQueryResult<JVMClass>();
 	}
 
 	@Override
-	public List<JVMClass> getDefinedClasses() {
+	public QueryResult<JVMClass> getDefinedClasses() {
 		if(classes==null) classes=new LinkedList<JVMClass>();
-		return classes;
+		return new ListBackedQueryResult<JVMClass>(classes);
 	}
 
 	@Override

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java Mon Nov  2 10:58:10 2009
@@ -13,12 +13,14 @@
  ******************************************************************************/
 package org.apache.kato.jvmti.javaruntime.model;
 
-import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.ImageSection;
 import javax.tools.diagnostics.runtime.java.JVMHeap;
 import javax.tools.diagnostics.runtime.java.JVMObject;
 
+import org.apache.kato.common.EmptyQueryResult;
+
 /**
  * Makes available all of the objects in the heap 
  * by extracting their List from the Model. 
@@ -42,7 +44,7 @@
 	}
 
 	@Override
-	public List<JVMObject> getObjects() {
+	public QueryResult<JVMObject> getObjects() {
 		return model.getObjects();
 	}
 
@@ -50,8 +52,8 @@
 	 * Returns empty list as we have no image sections to report. 
 	 */
 	@Override
-	public List<ImageSection> getSections() {
-		return new EmptyList<ImageSection>();
+	public QueryResult<ImageSection> getSections() {
+		return new EmptyQueryResult<ImageSection>();
 	}
 
 }

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java Mon Nov  2 10:58:10 2009
@@ -34,7 +34,7 @@
 
 	@Override
 	public int getLength() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		JLocalVariableTableEntry entry=(JLocalVariableTableEntry) location.method.getEntry(slot, location);
 		if(entry==null) return 0;
 		return entry.length;
 	}
@@ -42,14 +42,14 @@
 	@Override
 	public String getName() throws DataUnavailable {
 		
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		JLocalVariableTableEntry entry=(JLocalVariableTableEntry) location.method.getEntry(slot, location);
 		if(entry==null) return null;
 		return entry.getName();
 	}
 
 	@Override
 	public String getSignature() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		JLocalVariableTableEntry entry=(JLocalVariableTableEntry) location.method.getEntry(slot, location);
 		if(entry==null) return null;
 		return entry.sig;
 	}
@@ -62,7 +62,7 @@
 
 	@Override
 	public int getStart() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		JLocalVariableTableEntry entry=(JLocalVariableTableEntry) location.method.getEntry(slot, location);
 		if(entry==null) return 0;
 		return entry.start;
 	}

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java Mon Nov  2 10:58:10 2009
@@ -18,16 +18,20 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.List;
 import java.util.Vector;
 import java.util.logging.Level;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImageSection;
 import javax.tools.diagnostics.runtime.java.JVMClass;
+import javax.tools.diagnostics.runtime.java.JVMLocation;
 import javax.tools.diagnostics.runtime.java.JVMMethod;
+import javax.tools.diagnostics.runtime.java.JVMVariable;
 
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 import org.apache.kato.jvmti.reader.CLogger;
 
 public class JMethod implements JVMMethod {
@@ -39,7 +43,7 @@
 	public int mods=0;
 	public JClass parent=null;
 	public HashMap<Long, Integer> lineNumberTable;
-	private LinkedList<JLocalVariableTableEntry> localVars=null;
+	private LinkedList<JVMVariable> localVars=null;
 	public JMethod() {
 	}
 	
@@ -50,7 +54,7 @@
 
 	public void addLocalVariableTableEntry(JLocalVariableTableEntry entry) {
 		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
+			localVars=new LinkedList<JVMVariable>();
 		}
 		localVars.add(entry);
 	}
@@ -81,13 +85,13 @@
 	
 
 	@Override
-	public List<ImageSection> getBytecodeSections() {
-		return new EmptyList<ImageSection>();
+	public QueryResult<ImageSection> getBytecodeSections() {
+		return new EmptyQueryResult<ImageSection>();
 	}
 
 	@Override
-	public List<ImageSection> getCompiledSections() {
-		return new EmptyList<ImageSection>();
+	public QueryResult<ImageSection> getCompiledSections() {
+		return new EmptyQueryResult<ImageSection>();
 	}
 
 	@Override
@@ -112,29 +116,30 @@
 	}
 
 	@Override
-	public List getVariables()  {
+	public QueryResult<JVMVariable> getVariables()  {
 		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
+			localVars=new LinkedList<JVMVariable>();
 		}
 		
-		return localVars;
+		return new ListBackedQueryResult<JVMVariable>(localVars);
 	}
 
-	public JLocalVariableTableEntry getEntry(int slot, JLocation loc) {
+	public JVMVariable getEntry(int slot, JLocation loc) {
 		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
+			localVars=new LinkedList<JVMVariable>();
 		}
-		for (JLocalVariableTableEntry jlvte: localVars){
+		for (JVMVariable jlvte: localVars){
 			if (jlvte.getSlot() == slot){
 				try {
-					if (jlvte.start+jlvte.length >= loc.getAddress().getAddress() && jlvte.start <= loc.getAddress().getAddress()){
+					JLocalVariableTableEntry entry=(JLocalVariableTableEntry) jlvte;
+					if (entry.start+entry.length >= loc.getAddress().getAddress() && entry.start <= loc.getAddress().getAddress()){
 						return jlvte;
 					}
 				} catch (CorruptDataException e) {
 				}
 			}
 		}
-		for (JLocalVariableTableEntry jlvte: localVars){
+		for (JVMVariable jlvte: localVars){
 			if (jlvte.getSlot() == slot){
 				return jlvte;
 			}

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java Mon Nov  2 10:58:10 2009
@@ -17,12 +17,15 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.ImagePointer;
 import javax.tools.diagnostics.runtime.java.JVMMonitor;
 import javax.tools.diagnostics.runtime.java.JVMObject;
 import javax.tools.diagnostics.runtime.java.JVMThread;
 
+import org.apache.kato.common.ListBackedQueryResult;
+
 public class JMonitor implements JVMMonitor {
 	private Model model;
 	private long owner=0;
@@ -36,12 +39,12 @@
 	}
 
 	@Override
-	public List<JVMThread> getEnterWaiters() {
+	public QueryResult<JVMThread> getEnterWaiters() {
 		List<JVMThread> waitingThreads= new LinkedList<JVMThread>();
 		for (Long l: waiters){
 			waitingThreads.add(model.getThread(l));
 		}
-		return waitingThreads;
+		return new ListBackedQueryResult<JVMThread>(waitingThreads);
 	}
 
 	public void addWaiter(Long t) {
@@ -60,12 +63,12 @@
 	}
 
 	@Override
-	public List<JVMThread> getNotifyWaiters() {
+	public QueryResult<JVMThread> getNotifyWaiters() {
 		List<JVMThread> waitingThreads= new LinkedList<JVMThread>();
 		for (Long l: waiters){
 			waitingThreads.add(model.getThread(l));
 		}
-		return waitingThreads;
+		return new ListBackedQueryResult<JVMThread>( waitingThreads);
 	}
 
 	@Override

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JObject.java Mon Nov  2 10:58:10 2009
@@ -15,10 +15,10 @@
 package org.apache.kato.jvmti.javaruntime.model;
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.logging.Level;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -29,6 +29,7 @@
 import javax.tools.diagnostics.runtime.java.JVMObject;
 import javax.tools.diagnostics.runtime.java.JVMReference;
 
+import org.apache.kato.common.EmptyQueryResult;
 import org.apache.kato.jvmti.reader.CLogger;
 
 /**
@@ -307,13 +308,13 @@
 	}
 
 	@Override
-	public List<JVMReference> getReferences() {
-		return new EmptyList<JVMReference>();
+	public QueryResult<JVMReference> getReferences() {
+		return new EmptyQueryResult<JVMReference>();
 	}
 
 	@Override
-	public List<ImageSection> getSections() {
-		return new EmptyList<ImageSection>();
+	public QueryResult<ImageSection> getSections() {
+		return new EmptyQueryResult<ImageSection>();
 	}
 
 	@Override

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JStackFrame.java Mon Nov  2 10:58:10 2009
@@ -14,9 +14,9 @@
 
 package org.apache.kato.jvmti.javaruntime.model;
 
-import java.util.List;
 import java.util.logging.Level;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -25,6 +25,8 @@
 import javax.tools.diagnostics.runtime.java.JVMStackFrame;
 import javax.tools.diagnostics.runtime.java.JVMVariable;
 
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 import org.apache.kato.jvmti.reader.CLogger;
 
 public class JStackFrame implements JVMStackFrame {
@@ -48,8 +50,8 @@
 		this.location=loc;
 	}
 	@Override
-	public List<JVMReference> getHeapRoots() {
-		return new EmptyList<JVMReference>();
+	public QueryResult<JVMReference> getHeapRoots() {
+		return new EmptyQueryResult<JVMReference>();
 	}
 
 	@Override
@@ -82,9 +84,9 @@
 	}
 
 	@Override
-	public List<JVMVariable> getVariables() {
+	public QueryResult<JVMVariable> getVariables() {
 		
-		return vars.values();
+		return new ListBackedQueryResult<JVMVariable>( vars.values());
 	}
 
 	public void addVariable(int slot, Object data) {

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JThread.java Mon Nov  2 10:58:10 2009
@@ -18,6 +18,7 @@
 import java.util.List;
 import java.util.logging.Level;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -27,9 +28,12 @@
 import javax.tools.diagnostics.runtime.java.JVMClass;
 import javax.tools.diagnostics.runtime.java.JVMHeap;
 import javax.tools.diagnostics.runtime.java.JVMObject;
+import javax.tools.diagnostics.runtime.java.JVMReference;
 import javax.tools.diagnostics.runtime.java.JVMStackFrame;
 import javax.tools.diagnostics.runtime.java.JVMThread;
 
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 import org.apache.kato.jvmti.reader.CLogger;
 
 public class JThread implements JVMThread{
@@ -121,13 +125,13 @@
 			}
 
 			@Override
-			public List getReferences() {
+			public QueryResult<JVMReference> getReferences() {
 				// TODO Auto-generated method stub
 				return null;
 			}
 
 			@Override
-			public List getSections() {
+			public QueryResult<ImageSection> getSections() {
 				// TODO Auto-generated method stub
 				return null;
 			}
@@ -153,14 +157,14 @@
 	}
 	
 	@Override
-	public List<JVMStackFrame> getStackFrames() {
+	public QueryResult<JVMStackFrame> getStackFrames() {
 		CLogger.logr.log(Level.FINEST,"Asked for stack frames");
-		return frames;
+		return new ListBackedQueryResult<JVMStackFrame>( frames);
 	}
 	
 	@Override
-	public List<ImageSection> getStackSections() {
-		return new EmptyList<ImageSection>();
+	public QueryResult<ImageSection> getStackSections() {
+		return new EmptyQueryResult<ImageSection>();
 	}
 	
 	@Override

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/Model.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/Model.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/Model.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/Model.java Mon Nov  2 10:58:10 2009
@@ -19,6 +19,7 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.runtime.java.JVMClass;
 import javax.tools.diagnostics.runtime.java.JVMClassLoader;
 import javax.tools.diagnostics.runtime.java.JVMHeap;
@@ -27,6 +28,8 @@
 import javax.tools.diagnostics.runtime.java.JVMObject;
 import javax.tools.diagnostics.runtime.java.JVMThread;
 
+import org.apache.kato.common.ListBackedQueryResult;
+
 public class Model {
 
 	private ObjectMapList<Long,JVMThread> threadMap=new ObjectMapList<Long,JVMThread>();
@@ -108,11 +111,12 @@
 	public List<JVMThread> getThreads() {
 		return threadMap.values();
 	}
-	public List<JVMClassLoader> getJavaClassLoader() {
-		return loadersMap.values();
+	public QueryResult<JVMClassLoader> getJavaClassLoader() {
+		return new ListBackedQueryResult<JVMClassLoader>(loadersMap.values());
 	}
-	public List<JVMMonitor> getJavaMonitors() {
-		return monitorsMap.values();
+	public QueryResult<JVMMonitor> getJavaMonitors() {
+		return new ListBackedQueryResult<JVMMonitor>(
+		monitorsMap.values());
 	}
 	
 	public JThread getThread(long id) {
@@ -129,8 +133,8 @@
 	 *  
 	 * @return an unmodifiable list of objects.
 	 */
-	public List<JVMObject> getObjects() {
-		return Collections.unmodifiableList(objectMap.values());		
+	public QueryResult<JVMObject> getObjects() {
+		return new ListBackedQueryResult<JVMObject>(objectMap.values());		
 	}
 
 	private JHeap heap;

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/reader/CJVMTIBinReader.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/reader/CJVMTIBinReader.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/reader/CJVMTIBinReader.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/reader/CJVMTIBinReader.java Mon Nov  2 10:58:10 2009
@@ -28,8 +28,10 @@
 import java.util.logging.Logger;
 
 import javax.imageio.stream.FileImageInputStream;
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.runtime.java.JVMField;
 import javax.tools.diagnostics.runtime.java.JVMStackFrame;
 import javax.tools.diagnostics.runtime.java.JVMThread;
 import javax.tools.diagnostics.runtime.java.JVMVariable;
@@ -48,8 +50,6 @@
 import org.apache.kato.jvmti.javaruntime.model.JThread;
 import org.apache.kato.jvmti.javaruntime.model.Model;
 
-import com.sun.xml.internal.xsom.util.DeferedCollection;
-
 /**
  * 
  * CJVMTIBinReader - Reads cjvmti dump files 
@@ -508,11 +508,15 @@
 		}
 
 		// Read static field references
-		for (JField fl : (List<JField>) c.getDeclaredFields()) {
+		QueryResult<JVMField> fields=c.getDeclaredFields();
+		for (JVMField field :  fields) {
+			JField fl=(JField) field;
 			if (fl.staticField) {
 				fl.staticValue = nreadReference(refs[fl.index]);
 			}
 		}
+		fields.dispose();
+		
 		log.log(Level.FINEST, "num interf: " + interfaceClasses.length + " "
 				+ c.classSig);
 		// Follow interface references
@@ -593,11 +597,15 @@
 		int instanceFieldCount = 0;
 		JClass superClass = c;
 		while (superClass != null) {
-			for (JField jf : (List<JField>) superClass.getDeclaredFields()) {
+			QueryResult<JVMField>  fields= superClass.getDeclaredFields();
+			for (JVMField field :fields) {
+				JField jf=(JField) field;
 				if (!jf.staticField)
 					instanceFieldCount++;
 			}
+			fields.dispose();
 			superClass = model.getClass(superClass.superClassID);
+			
 		}
 
 		// Check they match the dump files recoard
@@ -624,7 +632,9 @@
 		fieldOffset = 0;
 		superClass = c;
 		while (superClass != null) {
-			for (JField jf : (List<JField>) superClass.getDeclaredFields()) {
+			QueryResult<JVMField> fields= superClass.getDeclaredFields();
+			for (JVMField field : fields) {
+				JField jf=(JField) field;
 				if (!jf.staticField) {
 					fieldCount++;
 					if (instanceRefs[fieldOffset +jf.index] == 0x9999999999999999L){
@@ -653,6 +663,7 @@
 					}
 				}
 			}
+			fields.dispose();
 			fieldOffset = fieldCount;
 			superClass = model.getClass(superClass.superClassID);
 		}

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/AbstractCorruptEntity.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/AbstractCorruptEntity.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/AbstractCorruptEntity.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/AbstractCorruptEntity.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.ImagePointer;
+
+/**
+ * 
+ */
+public class AbstractCorruptEntity implements CorruptData{
+
+	private CorruptData data=null;
+	
+	public AbstractCorruptEntity(CorruptData data) {
+		this.data=data;
+	}
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.CorruptData#getAddress()
+	 */
+	@Override
+	public ImagePointer getAddress() {
+	
+		return data.getAddress();
+	}
+	
+	public String toString() {
+		return data.toString();
+	}
+
+}

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptImageSection.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptImageSection.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptImageSection.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptImageSection.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImagePointer;
+import javax.tools.diagnostics.image.ImageSection;
+
+/**
+ * 
+ */
+public class CorruptImageSection extends AbstractCorruptEntity implements ImageSection{
+
+	/**
+	 * @param data
+	 */
+	public CorruptImageSection(CorruptData data) {
+		super(data);
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#getBaseAddress()
+	 */
+	@Override
+	public ImagePointer getBaseAddress() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#getName()
+	 */
+	@Override
+	public String getName() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#getSize()
+	 */
+	@Override
+	public long getSize() {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#isExecutable()
+	 */
+	@Override
+	public boolean isExecutable() throws DataUnavailable {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#isReadOnly()
+	 */
+	@Override
+	public boolean isReadOnly() throws DataUnavailable {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.ImageSection#isShared()
+	 */
+	@Override
+	public boolean isShared() throws DataUnavailable {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMClass.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMClass.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMClass.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMClass.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+import javax.tools.diagnostics.QueryResult;
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.ImagePointer;
+import javax.tools.diagnostics.runtime.java.JVMClass;
+import javax.tools.diagnostics.runtime.java.JVMClassLoader;
+import javax.tools.diagnostics.runtime.java.JVMField;
+import javax.tools.diagnostics.runtime.java.JVMMethod;
+import javax.tools.diagnostics.runtime.java.JVMObject;
+import javax.tools.diagnostics.runtime.java.JVMReference;
+
+/**
+ * 
+ */
+public class CorruptJVMClass extends AbstractCorruptEntity implements JVMClass {
+
+	/**
+	 * @param data
+	 */
+	public CorruptJVMClass(CorruptData data) {
+		super(data);
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getClassLoader()
+	 */
+	@Override
+	public JVMClassLoader getClassLoader() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getComponentType()
+	 */
+	@Override
+	public JVMClass getComponentType() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getConstantPoolReferences()
+	 */
+	@Override
+	public QueryResult<JVMObject> getConstantPoolReferences() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getDeclaredFields()
+	 */
+	@Override
+	public QueryResult<JVMField> getDeclaredFields() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getDeclaredMethods()
+	 */
+	@Override
+	public QueryResult<JVMMethod> getDeclaredMethods() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getID()
+	 */
+	@Override
+	public ImagePointer getID() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getInterfaces()
+	 */
+	@Override
+	public QueryResult<String> getInterfaces() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getModifiers()
+	 */
+	@Override
+	public int getModifiers() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getName()
+	 */
+	@Override
+	public String getName() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getObject()
+	 */
+	@Override
+	public JVMObject getObject() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getReferences()
+	 */
+	@Override
+	public QueryResult<JVMReference> getReferences() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#getSuperclass()
+	 */
+	@Override
+	public JVMClass getSuperclass() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMClass#isArray()
+	 */
+	@Override
+	public boolean isArray() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMStackFrame.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMStackFrame.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMStackFrame.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJVMStackFrame.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+import javax.tools.diagnostics.QueryResult;
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImagePointer;
+import javax.tools.diagnostics.runtime.java.JVMLocation;
+import javax.tools.diagnostics.runtime.java.JVMReference;
+import javax.tools.diagnostics.runtime.java.JVMStackFrame;
+import javax.tools.diagnostics.runtime.java.JVMVariable;
+
+import org.apache.kato.common.EmptyQueryResult;
+
+/**
+ * 
+ */
+public class CorruptJVMStackFrame extends AbstractCorruptEntity implements JVMStackFrame, CorruptData{
+
+	
+	public CorruptJVMStackFrame(CorruptData error) {
+		super(error);
+		
+	}
+	
+	
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMStackFrame#getBasePointer()
+	 */
+	@Override
+	public ImagePointer getBasePointer() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMStackFrame#getHeapRoots()
+	 */
+	@Override
+	public QueryResult<JVMReference> getHeapRoots() {
+		
+		return new EmptyQueryResult<JVMReference>();
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMStackFrame#getLocation()
+	 */
+	@Override
+	public JVMLocation getLocation() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMStackFrame#getVariable(int)
+	 */
+	@Override
+	public Object getVariable(int slot) throws CorruptDataException,
+			DataUnavailable, IndexOutOfBoundsException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMStackFrame#getVariables()
+	 */
+	@Override
+	public QueryResult<JVMVariable> getVariables() {
+	
+		return new EmptyQueryResult<JVMVariable>();
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.image.CorruptData#getAddress()
+	 */
+	@Override
+	public ImagePointer getAddress() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaObject.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaObject.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaObject.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaObject.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+
+import javax.tools.diagnostics.QueryResult;
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImagePointer;
+import javax.tools.diagnostics.image.ImageSection;
+import javax.tools.diagnostics.image.MemoryAccessException;
+import javax.tools.diagnostics.runtime.java.JVMClass;
+import javax.tools.diagnostics.runtime.java.JVMHeap;
+import javax.tools.diagnostics.runtime.java.JVMObject;
+import javax.tools.diagnostics.runtime.java.JVMReference;
+
+/**
+ * 
+ */
+public class CorruptJavaObject extends AbstractCorruptEntity implements JVMObject{
+
+	/**
+	 * @param data
+	 */
+	public CorruptJavaObject(CorruptData data) {
+		super(data);
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#arraycopy(int, java.lang.Object, int, int)
+	 */
+	@Override
+	public void arraycopy(int srcStart, Object dst, int dstStart, int length)
+			throws CorruptDataException, MemoryAccessException {
+		// TODO Auto-generated method stub
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getArraySize()
+	 */
+	@Override
+	public int getArraySize() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getHashcode()
+	 */
+	@Override
+	public long getHashcode() throws DataUnavailable, CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getHeap()
+	 */
+	@Override
+	public JVMHeap getHeap() throws CorruptDataException, DataUnavailable {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getID()
+	 */
+	@Override
+	public ImagePointer getID() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getJavaClass()
+	 */
+	@Override
+	public JVMClass getJavaClass() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getPersistentHashcode()
+	 */
+	@Override
+	public long getPersistentHashcode() throws DataUnavailable,
+			CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getReferences()
+	 */
+	@Override
+	public QueryResult<JVMReference> getReferences() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getSections()
+	 */
+	@Override
+	public QueryResult<ImageSection> getSections() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#getSize()
+	 */
+	@Override
+	public long getSize() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMObject#isArray()
+	 */
+	@Override
+	public boolean isArray() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+}
\ No newline at end of file

Added: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaReference.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaReference.java?rev=831858&view=auto
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaReference.java (added)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.common/src/main/java/org/apache/kato/common/corruptdata/CorruptJavaReference.java Mon Nov  2 10:58:10 2009
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************************/
+
+package org.apache.kato.common.corruptdata;
+
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.runtime.java.JVMReference;
+
+/**
+ * 
+ */
+public class CorruptJavaReference extends AbstractCorruptEntity implements JVMReference{
+
+	/**
+	 * @param data
+	 */
+	public CorruptJavaReference(CorruptData data) {
+		super(data);
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getDescription()
+	 */
+	@Override
+	public String getDescription() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getReachability()
+	 */
+	@Override
+	public int getReachability() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getReferenceType()
+	 */
+	@Override
+	public int getReferenceType() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getRootType()
+	 */
+	@Override
+	public int getRootType() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getSource()
+	 */
+	@Override
+	public Object getSource() throws DataUnavailable, CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#getTarget()
+	 */
+	@Override
+	public Object getTarget() throws DataUnavailable, CorruptDataException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#isClassReference()
+	 */
+	@Override
+	public boolean isClassReference() throws DataUnavailable,
+			CorruptDataException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.tools.diagnostics.runtime.java.JVMReference#isObjectReference()
+	 */
+	@Override
+	public boolean isObjectReference() throws DataUnavailable,
+			CorruptDataException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/IJavaHeapInternal.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/IJavaHeapInternal.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/IJavaHeapInternal.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/IJavaHeapInternal.java Mon Nov  2 10:58:10 2009
@@ -14,9 +14,11 @@
 package org.apache.kato.hprof.java;
 
 import java.util.Collection;
+import java.util.List;
 
 import javax.tools.diagnostics.image.ImagePointer;
 import javax.tools.diagnostics.runtime.java.JVMClass;
+import javax.tools.diagnostics.runtime.java.JVMClassLoader;
 import javax.tools.diagnostics.runtime.java.JVMHeap;
 import javax.tools.diagnostics.runtime.java.JVMObject;
 
@@ -37,11 +39,11 @@
 
 	abstract String getUTF8StringByID(long fieldNameID);
 
-	abstract JavaClassLoaderImpl getJavaClassLoaderByID(long classLoaderObjectID);
+	abstract JVMClassLoader getJavaClassLoaderByID(long classLoaderObjectID);
 
 	abstract JavaPrimitiveClassImpl getPrimitiveClass(int l);
 
-	abstract Collection<JavaClassLoaderImpl> getJavaClassLoaders();
+	abstract List<JVMClassLoader> getJavaClassLoaders();
 
 	abstract ImagePointer getImagePointer(long address); 
 }

Modified: incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassImpl.java?rev=831858&r1=831857&r2=831858&view=diff
==============================================================================
--- incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassImpl.java (original)
+++ incubator/kato/branches/experimental/thirdview/org.apache.kato/kato.hprof.api/src/main/java/org/apache/kato/hprof/java/JavaClassImpl.java Mon Nov  2 10:58:10 2009
@@ -18,6 +18,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.tools.diagnostics.QueryResult;
 import javax.tools.diagnostics.image.CorruptDataException;
 import javax.tools.diagnostics.image.DataUnavailable;
 import javax.tools.diagnostics.image.ImagePointer;
@@ -25,16 +26,19 @@
 import javax.tools.diagnostics.runtime.java.JVMClass;
 import javax.tools.diagnostics.runtime.java.JVMClassLoader;
 import javax.tools.diagnostics.runtime.java.JVMField;
+import javax.tools.diagnostics.runtime.java.JVMMethod;
 import javax.tools.diagnostics.runtime.java.JVMObject;
+import javax.tools.diagnostics.runtime.java.JVMReference;
 
 import org.apache.kato.common.BasicType;
+import org.apache.kato.common.EmptyQueryResult;
+import org.apache.kato.common.ListBackedQueryResult;
 import org.apache.kato.hprof.IJavaClass;
 import org.apache.kato.hprof.datalayer.ConstantPoolEntry;
 import org.apache.kato.hprof.datalayer.FieldEntry;
 import org.apache.kato.hprof.datalayer.InstanceFieldEntry;
 import org.apache.kato.hprof.datalayer.StaticFieldEntry;
 import org.apache.kato.hprof.image.CorruptDataImpl;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 
 /**
  * HProf implementation of JavaClass. 
@@ -512,7 +516,7 @@
 	}
 
 	@Override
-	public List getConstantPoolReferences() {
+	public QueryResult<JVMObject> getConstantPoolReferences() {
 		List cpeList = new LinkedList();
 		
 		
@@ -532,7 +536,7 @@
 	 */
 	private ArrayList<JVMField> fields;
 	@Override
-	public List getDeclaredFields() {
+	public QueryResult<JVMField> getDeclaredFields() {
 		if (fields == null) {
 			StaticFieldEntry staticFields[] = javaClass.getStaticFields();
 			InstanceFieldEntry instanceFields[] = javaClass.getInstanceFields();
@@ -548,7 +552,7 @@
 			}
 		}
 		
-		return fields;
+		return new ListBackedQueryResult<JVMField>( fields);
 	}
 
 	/** 
@@ -556,8 +560,8 @@
 	 * 
 	 */
 	@Override
-	public List getDeclaredMethods() {
-		return new LinkedList();
+	public QueryResult<JVMMethod> getDeclaredMethods() {
+		return new EmptyQueryResult<JVMMethod>();
 	}
 
 	
@@ -578,8 +582,8 @@
 	 * but there is nothing to suggest that that is possible.
 	 */
 	@Override
-	public List getInterfaces() {
-		return new LinkedList();
+	public QueryResult<String> getInterfaces() {
+		return new EmptyQueryResult<String>();
 	}
 
 	/**
@@ -672,7 +676,7 @@
 	}
 
 	@Override
-	public List getReferences() {
+	public QueryResult<JVMReference> getReferences() {
 		// TODO Auto-generated method stub
 		// All object references, constantpool entries, superclass, etc.
 		return null;



Mime
View raw message