You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kato-commits@incubator.apache.org by mo...@apache.org on 2009/11/23 15:54:15 UTC

svn commit: r883384 [6/47] - in /incubator/kato/trunk/org.apache.kato: ./ kato.anttasks/src/main/java/org/apache/kato/anttasks/ kato.anttasks/src/main/java/org/apache/kato/anttasks/sitebuilder/ kato.anttasks/src/main/java/org/apache/kato/anttasks/tck/ ...

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaThread.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaThread.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaThread.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaThread.java Mon Nov 23 15:53:48 2009
@@ -1,200 +1,200 @@
-/*******************************************************************************
- * 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 javax.tools.diagnostics.runtime.java;
-
-
-import java.util.List;
-
-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.ImageThread;
-
-
-
-/**
- * <p>Represents a Java thread.</p>
- * <p><code>JavaThread</code> instances correspond with executing threads in the Java Virtual Machine,
- * not {@link java.lang.Thread} instances on the heap.
- * <code>JavaThread</code> provide information on what was running including the locations
- * of all of the threads within the Java program when the dump was taken.
- * </p> 
- *  
- * @see JavaRuntime#getThreads()
- */
-public interface JavaThread  {
-
-	/** The thread is alive	 */
-	int STATE_ALIVE						= 0x00000001;
-	/** The thread has terminated */
-	int STATE_TERMINATED				= 0x00000002;
-	/** The thread can be run although may not be actually running */
-	int STATE_RUNNABLE					= 0x00000004;
-	/** The thread is waiting on a monitor with no timeout value set */
-	int STATE_WAITING_INDEFINITELY		= 0x00000010;
-	/** The thread is waiting on a monitor but will timeout at some point */
-	int STATE_WAITING_WITH_TIMEOUT		= 0x00000020;
-	/** The thread is in the Thread.sleep method	 */
-	int STATE_SLEEPING					= 0x00000040;
-	/** The thread is in a waiting state in native code	 */
-	int STATE_WAITING					= 0x00000080;
-	/** The thread is in Object.wait */
-	int STATE_IN_OBJECT_WAIT			= 0x00000100;
-	/** The thread has been deliberately removed from scheduling */
-	int STATE_PARKED					= 0x00000200;
-	/** The thread is waiting to enter an object monitor	 */
-	int STATE_BLOCKED_ON_MONITOR_ENTER	= 0x00000400;
-	/** The thread has been suspended by Thread.suspend */
-	int STATE_SUSPENDED					= 0x00100000;
-	/** The thread has a pending interrupt */
-	int STATE_INTERRUPTED				= 0x00200000;
-	/** The thread is in native code */
-	int STATE_IN_NATIVE					= 0x00400000;
-	/** The thread is in a vendor specific state */
-	int STATE_VENDOR_1					= 0x10000000;
-	/** The thread is in a vendor specific state */
-	int STATE_VENDOR_2					= 0x20000000;
-	/** The thread is in a vendor specific state */
-	int STATE_VENDOR_3					= 0x40000000;
-	
-    /**
-     * <p>Get the address of the JNIEnv structure which represents this thread instance in JNI.</p>
-     * 
-     * @return the address of the JNIEnv structure which represents this thread instance in JNI.
-     * @throws CorruptDataException 
-     */
-    ImagePointer getJNIEnv() throws CorruptDataException;
-    
-    /**
-     * <p>Get the Java priority of the thread.</p>
-     * <p>The value returned will be the same as what would have been returned by a call
-     * to {@link java.lang.Thread#getPriority()} within the Java Virtual Machine.
-     * 
-     * @return the Java priority of the thread (a number between 1 and 10 inclusive)
-     * @throws CorruptDataException 
-     * 
-     * @see java.lang.Thread#getPriority()
-     */
-    int getPriority() throws CorruptDataException;
-    
-
-    /**
-     * <p>Returns the {@link JavaObject} representing the instance of the class or subclass of {@link java.lang.Thread}
-     * that represents this thread in the Java Virtual Machine.</p>
-     * 
-     * <p>The object returned is the {@link java.lang.Thread} instance the method 
-     * {@link java.lang.Thread#start() start()} was executed against in order to create this 
-     * Java thread.
-     * </p>
-     * 
-     * <p>This method may return <code>null</code> when there is no {@link java.lang.Thread} instance associated with this
-     * Java thread. Some Java threads may be created for purposes other than for executing Java code
-     * (for example, for garbage collection).    
-     * </p>
-     * 
-     * 
-     * @return a JavaObject representing the {@link java.lang.Thread} associated with this thread, or <code>null</code>.
-     * @throws CorruptDataException if the reference to <code>java.lang.Thread</code> is not <code>null</code> and cannot be retrieved.
-     * 
-     * @see JavaObject
-     * @see java.lang.Thread
-     */
-    JavaObject getObject() throws CorruptDataException;
-    
-    /**
-     * <p>Get the state of the thread when the dump was generated.</p>
-     * <p>The result is a bit vector, and uses the states defined by
-     * the function 
-     * <a href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">GetThreadState</a>
-     *  in the JVMTI specification.
-     * </p> 
-     * 
-     * @return the state of the thread when the image was created.
-     * 
-     * @throws CorruptDataException If the thread state could not be successfully retrieved.  
-     */
-    int getState() throws CorruptDataException;
-    
-    /**
-     * <p>Returns the operating system level thread that executes the Java thread.</p>
-     * <p>This will return an {@link ImageThread} if an operating system level thread can be
-     * returned, otherwise the <code>DataUnavailable</code> exception is thrown.
-     * There is no guarantee that there is a 1:1 relationship between <code>JavaThreads</code>
-     * and {@link ImageThread ImageThreads}.
-     * </p>
-     * 
-     * @return the ImageThread which this thread is currently bound to.
-     * @throws CorruptDataException If the underlying resource describing the native representation of the thread
-     * is damaged.
-     * @throws DataUnavailable If no mapping is provided due to missing or limited underlying resources.
-     * 
-     * @see ImageThread
-     */
-    ImageThread getImageThread() throws CorruptDataException, DataUnavailable;
-
-    /**
-     * <p>Get the set of {@link ImageSection ImageSections} which make up the Java Virtual Machine stack.
-     * </p>
-     * <p> 
-     * Some Java Virtual Machine implementations may use parts of the ImageThread's stack
-     * for JavaStackFrames.
-     * </p>
-     * 
-     * @return a collection of <code>ImageSections</code> which make up the Java stack.
-     * 
-     * @see javax.tools.diagnostics.image.ImageSection
-     * @see javax.tools.diagnostics.image.ImageThread#getStackSections()
-     * @see javax.tools.diagnostics.image.CorruptData
-     */
-    List<ImageSection> getStackSections();
-    
-    /**
-     * <p>Get the set of stack frames.</p>
-     * <p>The start of the list will contain the top most stack frame, the last entry
-     * will contain the bottom most stack frame. The top contains the most recently executing
-     * stack frame.  
-     * </p>
-     * <p>
-     * This method may return an empty list when there are no Java stack frames associated with
-     * this Java thread. <code>null</code> must never be returned.
-     * </p>
-     * 
-     * @return a list of Java stack frames in order from top to bottom.
-     *  
-     * @see JavaStackFrame
-     * 
-     */
-    List<JavaStackFrame> getStackFrames();
-    
-    /**
-     * <p>Return the name of the thread.</p>
-     * 
-     * <p>Usually this is derived from the object associated with the thread, but if the
-     * name cannot be derived this way (e.g. there is no object associated with the thread)
-     * Kato will create a name for the thread.
-     * </p>
-     * 
-     * @return the name of the thread
-     * @throws CorruptDataException If a name exists but cannot be retrieved. 
-     */
-    String getName() throws CorruptDataException;
-    
-	/**
-	 * @param obj
-	 * @return true if the given object refers to the same Java Thread in the image
-	 */
-	public boolean equals(Object obj);
-	public int hashCode();
-}
+/*******************************************************************************
+ * 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 javax.tools.diagnostics.runtime.java;
+
+
+import java.util.List;
+
+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.ImageThread;
+
+
+
+/**
+ * <p>Represents a Java thread.</p>
+ * <p><code>JavaThread</code> instances correspond with executing threads in the Java Virtual Machine,
+ * not {@link java.lang.Thread} instances on the heap.
+ * <code>JavaThread</code> provide information on what was running including the locations
+ * of all of the threads within the Java program when the dump was taken.
+ * </p> 
+ *  
+ * @see JavaRuntime#getThreads()
+ */
+public interface JavaThread  {
+
+	/** The thread is alive	 */
+	int STATE_ALIVE						= 0x00000001;
+	/** The thread has terminated */
+	int STATE_TERMINATED				= 0x00000002;
+	/** The thread can be run although may not be actually running */
+	int STATE_RUNNABLE					= 0x00000004;
+	/** The thread is waiting on a monitor with no timeout value set */
+	int STATE_WAITING_INDEFINITELY		= 0x00000010;
+	/** The thread is waiting on a monitor but will timeout at some point */
+	int STATE_WAITING_WITH_TIMEOUT		= 0x00000020;
+	/** The thread is in the Thread.sleep method	 */
+	int STATE_SLEEPING					= 0x00000040;
+	/** The thread is in a waiting state in native code	 */
+	int STATE_WAITING					= 0x00000080;
+	/** The thread is in Object.wait */
+	int STATE_IN_OBJECT_WAIT			= 0x00000100;
+	/** The thread has been deliberately removed from scheduling */
+	int STATE_PARKED					= 0x00000200;
+	/** The thread is waiting to enter an object monitor	 */
+	int STATE_BLOCKED_ON_MONITOR_ENTER	= 0x00000400;
+	/** The thread has been suspended by Thread.suspend */
+	int STATE_SUSPENDED					= 0x00100000;
+	/** The thread has a pending interrupt */
+	int STATE_INTERRUPTED				= 0x00200000;
+	/** The thread is in native code */
+	int STATE_IN_NATIVE					= 0x00400000;
+	/** The thread is in a vendor specific state */
+	int STATE_VENDOR_1					= 0x10000000;
+	/** The thread is in a vendor specific state */
+	int STATE_VENDOR_2					= 0x20000000;
+	/** The thread is in a vendor specific state */
+	int STATE_VENDOR_3					= 0x40000000;
+	
+    /**
+     * <p>Get the address of the JNIEnv structure which represents this thread instance in JNI.</p>
+     * 
+     * @return the address of the JNIEnv structure which represents this thread instance in JNI.
+     * @throws CorruptDataException 
+     */
+    ImagePointer getJNIEnv() throws CorruptDataException;
+    
+    /**
+     * <p>Get the Java priority of the thread.</p>
+     * <p>The value returned will be the same as what would have been returned by a call
+     * to {@link java.lang.Thread#getPriority()} within the Java Virtual Machine.
+     * 
+     * @return the Java priority of the thread (a number between 1 and 10 inclusive)
+     * @throws CorruptDataException 
+     * 
+     * @see java.lang.Thread#getPriority()
+     */
+    int getPriority() throws CorruptDataException;
+    
+
+    /**
+     * <p>Returns the {@link JavaObject} representing the instance of the class or subclass of {@link java.lang.Thread}
+     * that represents this thread in the Java Virtual Machine.</p>
+     * 
+     * <p>The object returned is the {@link java.lang.Thread} instance the method 
+     * {@link java.lang.Thread#start() start()} was executed against in order to create this 
+     * Java thread.
+     * </p>
+     * 
+     * <p>This method may return <code>null</code> when there is no {@link java.lang.Thread} instance associated with this
+     * Java thread. Some Java threads may be created for purposes other than for executing Java code
+     * (for example, for garbage collection).    
+     * </p>
+     * 
+     * 
+     * @return a JavaObject representing the {@link java.lang.Thread} associated with this thread, or <code>null</code>.
+     * @throws CorruptDataException if the reference to <code>java.lang.Thread</code> is not <code>null</code> and cannot be retrieved.
+     * 
+     * @see JavaObject
+     * @see java.lang.Thread
+     */
+    JavaObject getObject() throws CorruptDataException;
+    
+    /**
+     * <p>Get the state of the thread when the dump was generated.</p>
+     * <p>The result is a bit vector, and uses the states defined by
+     * the function 
+     * <a href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">GetThreadState</a>
+     *  in the JVMTI specification.
+     * </p> 
+     * 
+     * @return the state of the thread when the image was created.
+     * 
+     * @throws CorruptDataException If the thread state could not be successfully retrieved.  
+     */
+    int getState() throws CorruptDataException;
+    
+    /**
+     * <p>Returns the operating system level thread that executes the Java thread.</p>
+     * <p>This will return an {@link ImageThread} if an operating system level thread can be
+     * returned, otherwise the <code>DataUnavailable</code> exception is thrown.
+     * There is no guarantee that there is a 1:1 relationship between <code>JavaThreads</code>
+     * and {@link ImageThread ImageThreads}.
+     * </p>
+     * 
+     * @return the ImageThread which this thread is currently bound to.
+     * @throws CorruptDataException If the underlying resource describing the native representation of the thread
+     * is damaged.
+     * @throws DataUnavailable If no mapping is provided due to missing or limited underlying resources.
+     * 
+     * @see ImageThread
+     */
+    ImageThread getImageThread() throws CorruptDataException, DataUnavailable;
+
+    /**
+     * <p>Get the set of {@link ImageSection ImageSections} which make up the Java Virtual Machine stack.
+     * </p>
+     * <p> 
+     * Some Java Virtual Machine implementations may use parts of the ImageThread's stack
+     * for JavaStackFrames.
+     * </p>
+     * 
+     * @return a collection of <code>ImageSections</code> which make up the Java stack.
+     * 
+     * @see javax.tools.diagnostics.image.ImageSection
+     * @see javax.tools.diagnostics.image.ImageThread#getStackSections()
+     * @see javax.tools.diagnostics.image.CorruptData
+     */
+    List<ImageSection> getStackSections();
+    
+    /**
+     * <p>Get the set of stack frames.</p>
+     * <p>The start of the list will contain the top most stack frame, the last entry
+     * will contain the bottom most stack frame. The top contains the most recently executing
+     * stack frame.  
+     * </p>
+     * <p>
+     * This method may return an empty list when there are no Java stack frames associated with
+     * this Java thread. <code>null</code> must never be returned.
+     * </p>
+     * 
+     * @return a list of Java stack frames in order from top to bottom.
+     *  
+     * @see JavaStackFrame
+     * 
+     */
+    List<JavaStackFrame> getStackFrames();
+    
+    /**
+     * <p>Return the name of the thread.</p>
+     * 
+     * <p>Usually this is derived from the object associated with the thread, but if the
+     * name cannot be derived this way (e.g. there is no object associated with the thread)
+     * Kato will create a name for the thread.
+     * </p>
+     * 
+     * @return the name of the thread
+     * @throws CorruptDataException If a name exists but cannot be retrieved. 
+     */
+    String getName() throws CorruptDataException;
+    
+	/**
+	 * @param obj
+	 * @return true if the given object refers to the same Java Thread in the image
+	 */
+	public boolean equals(Object obj);
+	public int hashCode();
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaThread.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMInitArgs.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMInitArgs.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMInitArgs.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMInitArgs.java Mon Nov 23 15:53:48 2009
@@ -1,87 +1,87 @@
-/*******************************************************************************
- * 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 javax.tools.diagnostics.runtime.java;
-
-import java.util.List;
-
-import javax.tools.diagnostics.image.CorruptDataException;
-import javax.tools.diagnostics.image.DataUnavailable;
-
-
-
-/**
- * This class models the JavaVMInitArgs C structure passed to <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a>
- * to create this Java Virtual Machine
- * 
- * Typically the options passed to the JVM are similar but necessarily identical to these used to invoke the Java Virtual Machine from a command line.
- * 
- */
-public interface JavaVMInitArgs {
-
-	/**
-	 * The JNI specified version constant for the Java 1.1 version of JNI 
-	 */
-	public static final int JNI_VERSION_1_1 = 0x00010001;
-
-	/**
-	 * The JNI specified version constant for the Java 1.2 version of JNI
-	 */
-	public static final int JNI_VERSION_1_2 = 0x00010002;
-
-	/**
-	 * The JNI specified version constant for the Java 1.4 version of JNI
-	 */
-	public static final int JNI_VERSION_1_4 = 0x00010004;
-	
-	/**
-	 * The JNI specified version constant for the Java 1.6 version of JNI
-	 */
-	public static final int JNI_VERSION_1_6 = 0x00010006;
-
-	/**
-	 * Fetch the JNI version from the JavaVMInitArgs structure used to create this Java Virtual Machine.
-	 * See the <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp15951">JNI specification</a> for the meaning for this field.
-	 *  
-	 * @return the JNI version
-	 * @throws DataUnavailable
-	 * @throws CorruptDataException
-	 */
-	int getVersion() throws DataUnavailable, CorruptDataException;
-	
-	/**
-	 * Fetch the ignoreUnrecognized field from the JavaVMInitArgs structure used to create this Java Virtual Machine.
-	 * See the <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp15951">JNI specification</a> for the meaning for this field.
-	 * 
-	 * @return true if ignoreUnrecognized was set to a non-zero value when the Java Virtual Machine was invoked
-	 * @throws DataUnavailable
-	 * @throws CorruptDataException
-	 */
-	boolean getIgnoreUnrecognized() throws DataUnavailable, CorruptDataException;
-	
-	/**
-	 * Fetch the options used to start this Java Virtual Machine, in the order they were originally specified.
-	 * 
-	 * The returned list follows the standard semantics for javax.tools.diagnostics collections
-	 * 
-	 * The order of the options returned in the list is the same as that passed to the to <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a> function.
-	 * A list is always returned but could be empty
-	 * 
-	 * @return an List of JavaVMOptions
-	 * @throws DataUnavailable
-	 * 
-	 * @see JavaVMOption
-	 */
-	List<JavaVMOption> getOptions() throws DataUnavailable;
-
-}
+/*******************************************************************************
+ * 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 javax.tools.diagnostics.runtime.java;
+
+import java.util.List;
+
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+
+
+
+/**
+ * This class models the JavaVMInitArgs C structure passed to <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a>
+ * to create this Java Virtual Machine
+ * 
+ * Typically the options passed to the JVM are similar but necessarily identical to these used to invoke the Java Virtual Machine from a command line.
+ * 
+ */
+public interface JavaVMInitArgs {
+
+	/**
+	 * The JNI specified version constant for the Java 1.1 version of JNI 
+	 */
+	public static final int JNI_VERSION_1_1 = 0x00010001;
+
+	/**
+	 * The JNI specified version constant for the Java 1.2 version of JNI
+	 */
+	public static final int JNI_VERSION_1_2 = 0x00010002;
+
+	/**
+	 * The JNI specified version constant for the Java 1.4 version of JNI
+	 */
+	public static final int JNI_VERSION_1_4 = 0x00010004;
+	
+	/**
+	 * The JNI specified version constant for the Java 1.6 version of JNI
+	 */
+	public static final int JNI_VERSION_1_6 = 0x00010006;
+
+	/**
+	 * Fetch the JNI version from the JavaVMInitArgs structure used to create this Java Virtual Machine.
+	 * See the <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp15951">JNI specification</a> for the meaning for this field.
+	 *  
+	 * @return the JNI version
+	 * @throws DataUnavailable
+	 * @throws CorruptDataException
+	 */
+	int getVersion() throws DataUnavailable, CorruptDataException;
+	
+	/**
+	 * Fetch the ignoreUnrecognized field from the JavaVMInitArgs structure used to create this Java Virtual Machine.
+	 * See the <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp15951">JNI specification</a> for the meaning for this field.
+	 * 
+	 * @return true if ignoreUnrecognized was set to a non-zero value when the Java Virtual Machine was invoked
+	 * @throws DataUnavailable
+	 * @throws CorruptDataException
+	 */
+	boolean getIgnoreUnrecognized() throws DataUnavailable, CorruptDataException;
+	
+	/**
+	 * Fetch the options used to start this Java Virtual Machine, in the order they were originally specified.
+	 * 
+	 * The returned list follows the standard semantics for javax.tools.diagnostics collections
+	 * 
+	 * The order of the options returned in the list is the same as that passed to the to <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a> function.
+	 * A list is always returned but could be empty
+	 * 
+	 * @return an List of JavaVMOptions
+	 * @throws DataUnavailable
+	 * 
+	 * @see JavaVMOption
+	 */
+	List<JavaVMOption> getOptions() throws DataUnavailable;
+
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMInitArgs.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMOption.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMOption.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMOption.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMOption.java Mon Nov 23 15:53:48 2009
@@ -1,47 +1,47 @@
-/*******************************************************************************
- * 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 javax.tools.diagnostics.runtime.java;
-
-import javax.tools.diagnostics.image.CorruptDataException;
-import javax.tools.diagnostics.image.DataUnavailable;
-import javax.tools.diagnostics.image.ImagePointer;
-
-/**
- * This class models the JavaVMOption C structures passed to the JNI invocation API entry point <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a> 
- * used to create a Java Virtual Machine.
- * 
- * Each JavaVMOption consists of two components	:
- * <ol>
- * <li> an optionString string, used to identify the option.</li>
- * <li> an extraInfo pointer, used to pass additional information. This component is usually NULL.</li>
- * </ol>
- */
-public interface JavaVMOption {
-
-	/**
-	 * Fetch the optionString component of the option.
-	 * @return a string representing the optionString. This is never null.
-	 * @throws DataUnavailable
-	 * @throws CorruptDataException
-	 */
-	String getOptionString() throws DataUnavailable, CorruptDataException;
-	
-	/**
-	 * Fetch the extraInfo component of this option.
-	 * @return the pointer value from the extraInfo (usually null).
-	 * @throws DataUnavailable
-	 * @throws CorruptDataException
-	 */
-	ImagePointer getExtraInfo() throws DataUnavailable, CorruptDataException;
-}
+/*******************************************************************************
+ * 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 javax.tools.diagnostics.runtime.java;
+
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImagePointer;
+
+/**
+ * This class models the JavaVMOption C structures passed to the JNI invocation API entry point <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp16334">JNI_CreateJavaVM</a> 
+ * used to create a Java Virtual Machine.
+ * 
+ * Each JavaVMOption consists of two components	:
+ * <ol>
+ * <li> an optionString string, used to identify the option.</li>
+ * <li> an extraInfo pointer, used to pass additional information. This component is usually NULL.</li>
+ * </ol>
+ */
+public interface JavaVMOption {
+
+	/**
+	 * Fetch the optionString component of the option.
+	 * @return a string representing the optionString. This is never null.
+	 * @throws DataUnavailable
+	 * @throws CorruptDataException
+	 */
+	String getOptionString() throws DataUnavailable, CorruptDataException;
+	
+	/**
+	 * Fetch the extraInfo component of this option.
+	 * @return the pointer value from the extraInfo (usually null).
+	 * @throws DataUnavailable
+	 * @throws CorruptDataException
+	 */
+	ImagePointer getExtraInfo() throws DataUnavailable, CorruptDataException;
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVMOption.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/main/java/javax/tools/diagnostics/runtime/java/JavaVariable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/TestFactoryRegistry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestCorruptDataException.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestCorruptDataException.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestCorruptDataException.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestCorruptDataException.java Mon Nov 23 15:53:48 2009
@@ -1,50 +1,50 @@
-/*******************************************************************************
- * 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 test.apache.kato.image;
-
-import javax.tools.diagnostics.image.CorruptData;
-import javax.tools.diagnostics.image.CorruptDataException;
-import javax.tools.diagnostics.image.ImagePointer;
-
-import junit.framework.TestCase;
-
-
-public class TestCorruptDataException extends TestCase {
-
-	
-	public void testNullConstructor() {
-		
-			try {
-			CorruptDataException cde=new CorruptDataException(null);
-			fail("expected IllegalArgumentException concerning null value");
-			}
-			catch(IllegalArgumentException iae) {
-				
-			}
-	}
-	
-	public void testConstructor() {
-		
-		
-		CorruptData data=new CorruptData(){
-
-			public ImagePointer getAddress() {
-				return null;
-			}};
-		
-		CorruptDataException cde=new CorruptDataException(data);
-		
-	}
-	
-}
+/*******************************************************************************
+ * 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 test.apache.kato.image;
+
+import javax.tools.diagnostics.image.CorruptData;
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.ImagePointer;
+
+import junit.framework.TestCase;
+
+
+public class TestCorruptDataException extends TestCase {
+
+	
+	public void testNullConstructor() {
+		
+			try {
+			CorruptDataException cde=new CorruptDataException(null);
+			fail("expected IllegalArgumentException concerning null value");
+			}
+			catch(IllegalArgumentException iae) {
+				
+			}
+	}
+	
+	public void testConstructor() {
+		
+		
+		CorruptData data=new CorruptData(){
+
+			public ImagePointer getAddress() {
+				return null;
+			}};
+		
+		CorruptDataException cde=new CorruptDataException(data);
+		
+	}
+	
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestCorruptDataException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestImage.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestImage.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestImage.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestImage.java Mon Nov 23 15:53:48 2009
@@ -1,27 +1,27 @@
-/*******************************************************************************
- * 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 test.apache.kato.image;
-
-import junit.framework.TestCase;
-
-public class TestImage extends TestCase
-{
-
-    
-    public void testImageExists() throws Exception {
-        
-        Class clazz=Class.forName("javax.tools.diagnostics.image.Image");
-        assertNotNull(clazz);
-    }
-}
+/*******************************************************************************
+ * 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 test.apache.kato.image;
+
+import junit.framework.TestCase;
+
+public class TestImage extends TestCase
+{
+
+    
+    public void testImageExists() throws Exception {
+        
+        Class clazz=Class.forName("javax.tools.diagnostics.image.Image");
+        assertNotNull(clazz);
+    }
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.api/src/test/java/test/apache/kato/image/TestImage.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java Mon Nov 23 15:53:48 2009
@@ -1,134 +1,134 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.logging.Level;
-
-import javax.tools.diagnostics.image.CorruptDataException;
-import javax.tools.diagnostics.image.DataUnavailable;
-import javax.tools.diagnostics.image.ImagePointer;
-import javax.tools.diagnostics.image.MemoryAccessException;
-import javax.tools.diagnostics.runtime.java.JavaClassLoader;
-import javax.tools.diagnostics.runtime.java.JavaHeap;
-import javax.tools.diagnostics.runtime.java.JavaMethod;
-import javax.tools.diagnostics.runtime.java.JavaMonitor;
-import javax.tools.diagnostics.runtime.java.JavaObject;
-import javax.tools.diagnostics.runtime.java.JavaReference;
-import javax.tools.diagnostics.runtime.java.JavaRuntime;
-import javax.tools.diagnostics.runtime.java.JavaThread;
-import javax.tools.diagnostics.runtime.java.JavaVMInitArgs;
-
-import org.apache.kato.jvmti.javaruntime.model.Model;
-import org.apache.kato.jvmti.reader.CJVMTIBinReader;
-import org.apache.kato.jvmti.reader.CLogger;
-
-public class JavaRuntimeImpl implements JavaRuntime {	
-	private Model model=null;
-	private File source;
-	
-	public JavaRuntimeImpl(Model model, File source) throws IOException {
-		this.model=model;
-		this.source = source;
-	}
-	
-	@Override
-	public List<JavaMethod> getCompiledMethods() {
-		return Collections.emptyList();
-	}
-
-	@Override
-	public List<JavaReference> getHeapRoots() {
-		return Collections.emptyList();
-	}
-
-	private List<JavaHeap> heap = null;
-	@Override
-	public List<JavaHeap> getHeaps() {
-		 if (heap == null) {
-			 heap = new LinkedList<JavaHeap>();
-			 heap.add(model.getHeap());
-		 }
-		 return heap;
-	}
-
-	@Override
-	public List<JavaClassLoader> getJavaClassLoaders() {		
-		return model.getJavaClassLoader();
-	}
-
-	@Override
-	public ImagePointer getJavaVM() throws CorruptDataException {
-		return null;
-	}
-
-	@Override
-	public JavaVMInitArgs getJavaVMInitArgs() throws DataUnavailable,
-			CorruptDataException {
-		throw new DataUnavailable();
-	}
-
-	@Override
-	public List<JavaMonitor> getMonitors() {		
-		return model.getJavaMonitors();
-	}
-
-	@Override
-	public JavaObject getObjectAtAddress(ImagePointer pointer)
-			throws CorruptDataException, IllegalArgumentException,
-			MemoryAccessException, DataUnavailable {
-		CLogger.logr.log(Level.FINEST,"Ask for object at"+pointer.getAddress());
-		
-		JavaObject obj =  model.getObjectAtAddress(pointer.getAddress());
-		
-		if (obj == null) {
-			throw new IllegalArgumentException("Unable to retrieve an object at 0x"+
-					Long.toHexString(pointer.getAddress()));
-		}
-		
-		return obj;
-	}
-
-	@Override
-	public List<JavaThread> getThreads() {		
-		return model.getThreads();
-	}
-
-	@Override
-	public Object getTraceBuffer(String arg0, boolean arg1)
-			throws CorruptDataException {
-		return null;
-	}
-
-	@Override
-	public String getFullVersion() throws CorruptDataException {
-		return CJVMTIBinReader.CJVMTI_VERSION_STRING;
-	}
-
-	@Override
-	public String getVersion() throws CorruptDataException {
-		return CJVMTIBinReader.CJVMTI_VERSION_STRING;
-	}
-
-	@Override
-	public File getSource() {
-		return this.source;
-	}
-
-}
+/*******************************************************************************
+ * 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.jvmti.javaruntime;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.logging.Level;
+
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImagePointer;
+import javax.tools.diagnostics.image.MemoryAccessException;
+import javax.tools.diagnostics.runtime.java.JavaClassLoader;
+import javax.tools.diagnostics.runtime.java.JavaHeap;
+import javax.tools.diagnostics.runtime.java.JavaMethod;
+import javax.tools.diagnostics.runtime.java.JavaMonitor;
+import javax.tools.diagnostics.runtime.java.JavaObject;
+import javax.tools.diagnostics.runtime.java.JavaReference;
+import javax.tools.diagnostics.runtime.java.JavaRuntime;
+import javax.tools.diagnostics.runtime.java.JavaThread;
+import javax.tools.diagnostics.runtime.java.JavaVMInitArgs;
+
+import org.apache.kato.jvmti.javaruntime.model.Model;
+import org.apache.kato.jvmti.reader.CJVMTIBinReader;
+import org.apache.kato.jvmti.reader.CLogger;
+
+public class JavaRuntimeImpl implements JavaRuntime {	
+	private Model model=null;
+	private File source;
+	
+	public JavaRuntimeImpl(Model model, File source) throws IOException {
+		this.model=model;
+		this.source = source;
+	}
+	
+	@Override
+	public List<JavaMethod> getCompiledMethods() {
+		return Collections.emptyList();
+	}
+
+	@Override
+	public List<JavaReference> getHeapRoots() {
+		return Collections.emptyList();
+	}
+
+	private List<JavaHeap> heap = null;
+	@Override
+	public List<JavaHeap> getHeaps() {
+		 if (heap == null) {
+			 heap = new LinkedList<JavaHeap>();
+			 heap.add(model.getHeap());
+		 }
+		 return heap;
+	}
+
+	@Override
+	public List<JavaClassLoader> getJavaClassLoaders() {		
+		return model.getJavaClassLoader();
+	}
+
+	@Override
+	public ImagePointer getJavaVM() throws CorruptDataException {
+		return null;
+	}
+
+	@Override
+	public JavaVMInitArgs getJavaVMInitArgs() throws DataUnavailable,
+			CorruptDataException {
+		throw new DataUnavailable();
+	}
+
+	@Override
+	public List<JavaMonitor> getMonitors() {		
+		return model.getJavaMonitors();
+	}
+
+	@Override
+	public JavaObject getObjectAtAddress(ImagePointer pointer)
+			throws CorruptDataException, IllegalArgumentException,
+			MemoryAccessException, DataUnavailable {
+		CLogger.logr.log(Level.FINEST,"Ask for object at"+pointer.getAddress());
+		
+		JavaObject obj =  model.getObjectAtAddress(pointer.getAddress());
+		
+		if (obj == null) {
+			throw new IllegalArgumentException("Unable to retrieve an object at 0x"+
+					Long.toHexString(pointer.getAddress()));
+		}
+		
+		return obj;
+	}
+
+	@Override
+	public List<JavaThread> getThreads() {		
+		return model.getThreads();
+	}
+
+	@Override
+	public Object getTraceBuffer(String arg0, boolean arg1)
+			throws CorruptDataException {
+		return null;
+	}
+
+	@Override
+	public String getFullVersion() throws CorruptDataException {
+		return CJVMTIBinReader.CJVMTI_VERSION_STRING;
+	}
+
+	@Override
+	public String getVersion() throws CorruptDataException {
+		return CJVMTIBinReader.CJVMTI_VERSION_STRING;
+	}
+
+	@Override
+	public File getSource() {
+		return this.source;
+	}
+
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/JavaRuntimeImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/DeferredReference.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/DeferredReference.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/DeferredReference.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/DeferredReference.java Mon Nov 23 15:53:48 2009
@@ -1,34 +1,34 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime.model;
-
-/**
- * Holds a reference to an object without itself being a JObject. 
- * Is used as Field values to prevent unconstrained recursion.
- * 
- */
-public class DeferredReference {
-	private long pos;
-	
-	public DeferredReference(long pos) {
-		this.pos = pos;
-	}
-	
-	/**
-	 * @return position of referenced object on disk.
-	 */
-	public long getPos() {
-		return this.pos;
-	}
-}
+/*******************************************************************************
+ * 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.jvmti.javaruntime.model;
+
+/**
+ * Holds a reference to an object without itself being a JObject. 
+ * Is used as Field values to prevent unconstrained recursion.
+ * 
+ */
+public class DeferredReference {
+	private long pos;
+	
+	public DeferredReference(long pos) {
+		this.pos = pos;
+	}
+	
+	/**
+	 * @return position of referenced object on disk.
+	 */
+	public long getPos() {
+		return this.pos;
+	}
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/DeferredReference.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClass.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JClassLoader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JField.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JField.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JField.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JField.java Mon Nov 23 15:53:48 2009
@@ -1,240 +1,240 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime.model;
-
-import java.util.logging.Level;
-
-import javax.tools.diagnostics.image.CorruptDataException;
-import javax.tools.diagnostics.image.DataUnavailable;
-import javax.tools.diagnostics.image.MemoryAccessException;
-import javax.tools.diagnostics.runtime.java.JavaClass;
-import javax.tools.diagnostics.runtime.java.JavaField;
-import javax.tools.diagnostics.runtime.java.JavaObject;
-
-import org.apache.kato.jvmti.reader.CLogger;
-
-public class JField implements JavaField, JValueHolder {
-
-	private JClass clazzid = null;
-	private long id = 0;
-
-	public String genericsignature;
-	public String signature;
-	public String name;
-	public boolean staticField = false;
-	public Object staticValue = null;
-	public int index = 0;
-	public int modifiers = 0;
-
-	public JField(JClass classid, long fid) {
-		this.clazzid = classid;
-		id = fid;
-
-	}
-
-	public long getFieldID() {
-		return id;
-	}
-
-	@Override
-	public Object get(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return staticValue;
-		}
-		
-		CLogger.logr.log(Level.FINEST," " + this.name + " " + this.index + " "
-				+ this.signature);
-		JObject job = (JObject) arg0;
-
-		return job.getValue(id);
-
-	}
-
-	@Override
-	public boolean getBoolean(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Boolean) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getBooleanValue(id);
-	}
-
-	@Override
-	public byte getByte(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Byte) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getByteValue(id);
-	}
-
-	@Override
-	public char getChar(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Character) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getCharValue(id);
-	}
-
-	@Override
-	public double getDouble(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Double) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getDoubleValue(id);
-	}
-
-	@Override
-	public float getFloat(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Float) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getFloatValue(id);
-	}
-
-	@Override
-	public int getInt(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Integer) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getIntValue(id);
-	}
-
-	@Override
-	public long getLong(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Long) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getLongValue(id);
-	}
-
-	@Override
-	public short getShort(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		if (staticValue != null) {
-			return (Short) staticValue;
-		}
-		JObject job = (JObject) arg0;
-		return job.getShortValue(id);
-	}
-
-	@Override
-	public String getString(JavaObject arg0) throws CorruptDataException,
-			MemoryAccessException {
-		// Manually look for the string class
-		
-		// First check static value
-		if (staticValue != null) {
-			JObject stringObj = (JObject) staticValue;
-			JavaClass stringClass = stringObj.getJavaClass();
-			while (!stringClass.getName().equals("java/lang/String")) {
-				if ((stringClass = stringClass.getSuperclass()) == null) {
-					break;
-				}
-			}
-
-			if (stringClass != null) {
-				for (JavaField field : stringObj.getJavaClass()
-						.getDeclaredFields()) {
-					// Assume this is the correct field
-					if (field.getSignature().equals("[C")) {
-						Character[] stringField = (Character[])((JObject)field.get(stringObj)).objArray;
-						char[] charArray = new char[stringField.length];
-						for (int i = 0; i < stringField.length; i++){
-							charArray[i] = stringField[i];
-						}
-						CLogger.logr.log(Level.FINEST,"From static field from "+field.getName()+" "+(new String(charArray)));
-						return new String(charArray);
-					}
-				}
-			}
-		}
-		
-		
-		
-		
-		if (arg0 != null) {
-			JObject obj = (JObject)arg0;
-			JavaObject stringObj = (JavaObject)obj.getValue(id);
-			JavaClass stringClass = stringObj.getJavaClass();
-			while (!stringClass.getName().equals("java/lang/String")) {
-				if ((stringClass = stringClass.getSuperclass()) == null) {
-					break;
-				}
-			}
-			
-			if (stringClass != null) {
-				for (JavaField field : stringObj.getJavaClass()
-						.getDeclaredFields()) {
-					// Assume this is the correct field
-					if (field.getSignature().equals("[C")) {
-						Character[] stringField = (Character[])((JObject)field.get(stringObj)).objArray;
-						char[] charArray = new char[stringField.length];
-						for (int i = 0; i < stringField.length; i++){
-							charArray[i] = stringField[i];
-						}
-						CLogger.logr.log(Level.FINEST,"From field "+field.getName()+" "+ (new String(charArray)));
-						return new String(charArray);
-					}
-				}
-			}
-		}
-		return "testTest";
-	}
-
-	@Override
-	public JavaClass getDeclaringClass() throws CorruptDataException,
-			DataUnavailable {
-
-		return clazzid;
-	}
-
-	@Override
-	public int getModifiers() throws CorruptDataException {
-		// TODO Auto-generated method stub
-		return modifiers;
-	}
-
-	@Override
-	public String getName() throws CorruptDataException {
-
-		return name;
-	}
-
-	@Override
-	public String getSignature() throws CorruptDataException {
-
-		return signature;
-	}
-
-	@Override
-	public void setValue(Object o) {
-		staticValue = o;
-	}
-
+/*******************************************************************************
+ * 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.jvmti.javaruntime.model;
+
+import java.util.logging.Level;
+
+import javax.tools.diagnostics.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.MemoryAccessException;
+import javax.tools.diagnostics.runtime.java.JavaClass;
+import javax.tools.diagnostics.runtime.java.JavaField;
+import javax.tools.diagnostics.runtime.java.JavaObject;
+
+import org.apache.kato.jvmti.reader.CLogger;
+
+public class JField implements JavaField, JValueHolder {
+
+	private JClass clazzid = null;
+	private long id = 0;
+
+	public String genericsignature;
+	public String signature;
+	public String name;
+	public boolean staticField = false;
+	public Object staticValue = null;
+	public int index = 0;
+	public int modifiers = 0;
+
+	public JField(JClass classid, long fid) {
+		this.clazzid = classid;
+		id = fid;
+
+	}
+
+	public long getFieldID() {
+		return id;
+	}
+
+	@Override
+	public Object get(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return staticValue;
+		}
+		
+		CLogger.logr.log(Level.FINEST," " + this.name + " " + this.index + " "
+				+ this.signature);
+		JObject job = (JObject) arg0;
+
+		return job.getValue(id);
+
+	}
+
+	@Override
+	public boolean getBoolean(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Boolean) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getBooleanValue(id);
+	}
+
+	@Override
+	public byte getByte(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Byte) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getByteValue(id);
+	}
+
+	@Override
+	public char getChar(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Character) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getCharValue(id);
+	}
+
+	@Override
+	public double getDouble(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Double) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getDoubleValue(id);
+	}
+
+	@Override
+	public float getFloat(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Float) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getFloatValue(id);
+	}
+
+	@Override
+	public int getInt(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Integer) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getIntValue(id);
+	}
+
+	@Override
+	public long getLong(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Long) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getLongValue(id);
+	}
+
+	@Override
+	public short getShort(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		if (staticValue != null) {
+			return (Short) staticValue;
+		}
+		JObject job = (JObject) arg0;
+		return job.getShortValue(id);
+	}
+
+	@Override
+	public String getString(JavaObject arg0) throws CorruptDataException,
+			MemoryAccessException {
+		// Manually look for the string class
+		
+		// First check static value
+		if (staticValue != null) {
+			JObject stringObj = (JObject) staticValue;
+			JavaClass stringClass = stringObj.getJavaClass();
+			while (!stringClass.getName().equals("java/lang/String")) {
+				if ((stringClass = stringClass.getSuperclass()) == null) {
+					break;
+				}
+			}
+
+			if (stringClass != null) {
+				for (JavaField field : stringObj.getJavaClass()
+						.getDeclaredFields()) {
+					// Assume this is the correct field
+					if (field.getSignature().equals("[C")) {
+						Character[] stringField = (Character[])((JObject)field.get(stringObj)).objArray;
+						char[] charArray = new char[stringField.length];
+						for (int i = 0; i < stringField.length; i++){
+							charArray[i] = stringField[i];
+						}
+						CLogger.logr.log(Level.FINEST,"From static field from "+field.getName()+" "+(new String(charArray)));
+						return new String(charArray);
+					}
+				}
+			}
+		}
+		
+		
+		
+		
+		if (arg0 != null) {
+			JObject obj = (JObject)arg0;
+			JavaObject stringObj = (JavaObject)obj.getValue(id);
+			JavaClass stringClass = stringObj.getJavaClass();
+			while (!stringClass.getName().equals("java/lang/String")) {
+				if ((stringClass = stringClass.getSuperclass()) == null) {
+					break;
+				}
+			}
+			
+			if (stringClass != null) {
+				for (JavaField field : stringObj.getJavaClass()
+						.getDeclaredFields()) {
+					// Assume this is the correct field
+					if (field.getSignature().equals("[C")) {
+						Character[] stringField = (Character[])((JObject)field.get(stringObj)).objArray;
+						char[] charArray = new char[stringField.length];
+						for (int i = 0; i < stringField.length; i++){
+							charArray[i] = stringField[i];
+						}
+						CLogger.logr.log(Level.FINEST,"From field "+field.getName()+" "+ (new String(charArray)));
+						return new String(charArray);
+					}
+				}
+			}
+		}
+		return "testTest";
+	}
+
+	@Override
+	public JavaClass getDeclaringClass() throws CorruptDataException,
+			DataUnavailable {
+
+		return clazzid;
+	}
+
+	@Override
+	public int getModifiers() throws CorruptDataException {
+		// TODO Auto-generated method stub
+		return modifiers;
+	}
+
+	@Override
+	public String getName() throws CorruptDataException {
+
+		return name;
+	}
+
+	@Override
+	public String getSignature() throws CorruptDataException {
+
+		return signature;
+	}
+
+	@Override
+	public void setValue(Object o) {
+		staticValue = o;
+	}
+
 }
\ No newline at end of file

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JField.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JFieldValue.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java Mon Nov 23 15:53:48 2009
@@ -1,58 +1,58 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime.model;
-
-import java.util.Collections;
-import java.util.List;
-
-import javax.tools.diagnostics.image.ImageSection;
-import javax.tools.diagnostics.runtime.java.JavaHeap;
-import javax.tools.diagnostics.runtime.java.JavaObject;
-
-/**
- * Makes available all of the objects in the heap 
- * by extracting their List from the Model. 
- *
- */
-public class JHeap implements JavaHeap {
-	private static final String HEAP_NAME="Object Heap";	
-	
-	private Model model;
-	
-	public JHeap(Model model) {
-		this.model = model;
-	}
-
-	/**
-	 * Return a made-up name.
-	 */
-	@Override
-	public String getName() {
-		return HEAP_NAME;
-	}
-
-	@Override
-	public List<JavaObject> getObjects() {
-		return model.getObjects();
-	}
-
-	/**
-	 * Returns empty list as we have no image sections to report. 
-	 */
-	@Override
-	public List<ImageSection> getSections() {
-		return Collections.emptyList();
-	}
-
-}
+/*******************************************************************************
+ * 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.jvmti.javaruntime.model;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.tools.diagnostics.image.ImageSection;
+import javax.tools.diagnostics.runtime.java.JavaHeap;
+import javax.tools.diagnostics.runtime.java.JavaObject;
+
+/**
+ * Makes available all of the objects in the heap 
+ * by extracting their List from the Model. 
+ *
+ */
+public class JHeap implements JavaHeap {
+	private static final String HEAP_NAME="Object Heap";	
+	
+	private Model model;
+	
+	public JHeap(Model model) {
+		this.model = model;
+	}
+
+	/**
+	 * Return a made-up name.
+	 */
+	@Override
+	public String getName() {
+		return HEAP_NAME;
+	}
+
+	@Override
+	public List<JavaObject> getObjects() {
+		return model.getObjects();
+	}
+
+	/**
+	 * Returns empty list as we have no image sections to report. 
+	 */
+	@Override
+	public List<ImageSection> getSections() {
+		return Collections.emptyList();
+	}
+
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JHeap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java Mon Nov 23 15:53:48 2009
@@ -1,79 +1,79 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime.model;
-
-import javax.tools.diagnostics.image.DataUnavailable;
-import javax.tools.diagnostics.runtime.java.JavaVariable;
-
-public class JLocalVariable implements JValueHolder,JavaVariable{
-
-	public Object value=null;
-	public int slot=0;
-	private JLocation location;
-	
-	
-	public JLocalVariable() {
-		
-	}
-	@Override
-	public void setValue(Object o) {
-		value=o;
-	}
-
-	@Override
-	public int getLength() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
-		if(entry==null) return 0;
-		return entry.length;
-	}
-
-	@Override
-	public String getName() throws DataUnavailable {
-		
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
-		if(entry==null) return null;
-		return entry.getName();
-	}
-
-	@Override
-	public String getSignature() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
-		if(entry==null) return null;
-		return entry.sig;
-	}
-
-	@Override
-	public int getSlot() {
-		
-		return slot;
-	}
-
-	@Override
-	public int getStart() {
-		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
-		if(entry==null) return 0;
-		return entry.start;
-	}
-
-	@Override
-	public Object getValue() {
-		return value;
-	}
-	public void setLocation(JLocation loc) {
-		this.location=loc;
-		
-	}
-
-}
+/*******************************************************************************
+ * 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.jvmti.javaruntime.model;
+
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.runtime.java.JavaVariable;
+
+public class JLocalVariable implements JValueHolder,JavaVariable{
+
+	public Object value=null;
+	public int slot=0;
+	private JLocation location;
+	
+	
+	public JLocalVariable() {
+		
+	}
+	@Override
+	public void setValue(Object o) {
+		value=o;
+	}
+
+	@Override
+	public int getLength() {
+		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		if(entry==null) return 0;
+		return entry.length;
+	}
+
+	@Override
+	public String getName() throws DataUnavailable {
+		
+		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		if(entry==null) return null;
+		return entry.getName();
+	}
+
+	@Override
+	public String getSignature() {
+		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		if(entry==null) return null;
+		return entry.sig;
+	}
+
+	@Override
+	public int getSlot() {
+		
+		return slot;
+	}
+
+	@Override
+	public int getStart() {
+		JLocalVariableTableEntry entry=location.method.getEntry(slot, location);
+		if(entry==null) return 0;
+		return entry.start;
+	}
+
+	@Override
+	public Object getValue() {
+		return value;
+	}
+	public void setLocation(JLocation loc) {
+		this.location=loc;
+		
+	}
+
+}

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocalVariableTableEntry.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JLocation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java?rev=883384&r1=883383&r2=883384&view=diff
==============================================================================
--- incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java (original)
+++ incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java Mon Nov 23 15:53:48 2009
@@ -1,165 +1,165 @@
-/*******************************************************************************
- * 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.jvmti.javaruntime.model;
-
-import java.util.Collections;
-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.image.CorruptDataException;
-import javax.tools.diagnostics.image.DataUnavailable;
-import javax.tools.diagnostics.image.ImageSection;
-import javax.tools.diagnostics.runtime.java.JavaClass;
-import javax.tools.diagnostics.runtime.java.JavaMethod;
-
-import org.apache.kato.jvmti.reader.CLogger;
-
-public class JMethod implements JavaMethod {
-
-	private int argumentsize;
-	public int maxlocals;
-	public String name=null;
-	public String signature=null;
-	public int mods=0;
-	public JClass parent=null;
-	public HashMap<Long, Integer> lineNumberTable;
-	private LinkedList<JLocalVariableTableEntry> localVars=null;
-	public JMethod() {
-	}
-	
-	public void setParent(JClass clazz) {
-		parent=clazz;	
-	}
-	
-
-	public void addLocalVariableTableEntry(JLocalVariableTableEntry entry) {
-		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
-		}
-		localVars.add(entry);
-	}
-	
-	public void addLineNumberEntry(int lNum, long bytePos){
-		if (lineNumberTable == null){
-			lineNumberTable = new HashMap<Long, Integer>();
-		}
-		lineNumberTable.put(bytePos, lNum);
-	}
-	
-	public int getLineNumber(long bytePos){
-		if(lineNumberTable == null){
-			return 0;
-		}
-		Vector<Long> v = new Vector<Long>(lineNumberTable.keySet());
-		Collections.sort(v);
-		Iterator<Long> it = v.iterator();
-		while(it.hasNext()){
-			long val = it.next();
-			CLogger.logr.log(Level.FINEST,"Value "+bytePos+" index "+val);
-			if(val>=bytePos){
-				return lineNumberTable.get(val);
-			}
-		}
-		return 0;
-	}
-	
-
-	@Override
-	public List<ImageSection> getBytecodeSections() {
-		return Collections.emptyList();
-	}
-
-	@Override
-	public List<ImageSection> getCompiledSections() {
-		return Collections.emptyList();
-	}
-
-	@Override
-	public JavaClass getDeclaringClass() throws CorruptDataException,
-			DataUnavailable {		
-		return parent;
-	}
-
-	@Override
-	public int getModifiers() throws CorruptDataException {	
-		return mods;
-	}
-
-	@Override
-	public String getName() throws CorruptDataException {
-		return name;
-	}
-
-	@Override
-	public String getSignature() throws CorruptDataException {
-		return signature;
-	}
-
-	@Override
-	public List getVariables()  {
-		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
-		}
-		
-		return localVars;
-	}
-
-	public JLocalVariableTableEntry getEntry(int slot, JLocation loc) {
-		if(localVars==null) {
-			localVars=new LinkedList<JLocalVariableTableEntry>();
-		}
-		for (JLocalVariableTableEntry jlvte: localVars){
-			if (jlvte.getSlot() == slot){
-				try {
-					if (jlvte.start+jlvte.length >= loc.getAddress().getAddress() && jlvte.start <= loc.getAddress().getAddress()){
-						return jlvte;
-					}
-				} catch (CorruptDataException e) {
-				}
-			}
-		}
-		for (JLocalVariableTableEntry jlvte: localVars){
-			if (jlvte.getSlot() == slot){
-				return jlvte;
-			}
-		}
-		return null;
-	}
-
-	/** 
-	 * Store generic signature for this method.
-	 * Currently unimplemented as API doesn't require it.
-	 *  
-	 * @param signature
-	 */
-	public void setGenericsignature(String signature) {
-		// Unimplemented
-	}
-
-	/**
-	 * Returns the generic signature of this method.
-	 * Currently not implemented.
-	 * 
-	 * @return null
-	 */
-	public String getGenericsignature() {
-		return null;
-	}
-	
+/*******************************************************************************
+ * 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.jvmti.javaruntime.model;
+
+import java.util.Collections;
+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.image.CorruptDataException;
+import javax.tools.diagnostics.image.DataUnavailable;
+import javax.tools.diagnostics.image.ImageSection;
+import javax.tools.diagnostics.runtime.java.JavaClass;
+import javax.tools.diagnostics.runtime.java.JavaMethod;
+
+import org.apache.kato.jvmti.reader.CLogger;
+
+public class JMethod implements JavaMethod {
+
+	private int argumentsize;
+	public int maxlocals;
+	public String name=null;
+	public String signature=null;
+	public int mods=0;
+	public JClass parent=null;
+	public HashMap<Long, Integer> lineNumberTable;
+	private LinkedList<JLocalVariableTableEntry> localVars=null;
+	public JMethod() {
+	}
+	
+	public void setParent(JClass clazz) {
+		parent=clazz;	
+	}
+	
+
+	public void addLocalVariableTableEntry(JLocalVariableTableEntry entry) {
+		if(localVars==null) {
+			localVars=new LinkedList<JLocalVariableTableEntry>();
+		}
+		localVars.add(entry);
+	}
+	
+	public void addLineNumberEntry(int lNum, long bytePos){
+		if (lineNumberTable == null){
+			lineNumberTable = new HashMap<Long, Integer>();
+		}
+		lineNumberTable.put(bytePos, lNum);
+	}
+	
+	public int getLineNumber(long bytePos){
+		if(lineNumberTable == null){
+			return 0;
+		}
+		Vector<Long> v = new Vector<Long>(lineNumberTable.keySet());
+		Collections.sort(v);
+		Iterator<Long> it = v.iterator();
+		while(it.hasNext()){
+			long val = it.next();
+			CLogger.logr.log(Level.FINEST,"Value "+bytePos+" index "+val);
+			if(val>=bytePos){
+				return lineNumberTable.get(val);
+			}
+		}
+		return 0;
+	}
+	
+
+	@Override
+	public List<ImageSection> getBytecodeSections() {
+		return Collections.emptyList();
+	}
+
+	@Override
+	public List<ImageSection> getCompiledSections() {
+		return Collections.emptyList();
+	}
+
+	@Override
+	public JavaClass getDeclaringClass() throws CorruptDataException,
+			DataUnavailable {		
+		return parent;
+	}
+
+	@Override
+	public int getModifiers() throws CorruptDataException {	
+		return mods;
+	}
+
+	@Override
+	public String getName() throws CorruptDataException {
+		return name;
+	}
+
+	@Override
+	public String getSignature() throws CorruptDataException {
+		return signature;
+	}
+
+	@Override
+	public List getVariables()  {
+		if(localVars==null) {
+			localVars=new LinkedList<JLocalVariableTableEntry>();
+		}
+		
+		return localVars;
+	}
+
+	public JLocalVariableTableEntry getEntry(int slot, JLocation loc) {
+		if(localVars==null) {
+			localVars=new LinkedList<JLocalVariableTableEntry>();
+		}
+		for (JLocalVariableTableEntry jlvte: localVars){
+			if (jlvte.getSlot() == slot){
+				try {
+					if (jlvte.start+jlvte.length >= loc.getAddress().getAddress() && jlvte.start <= loc.getAddress().getAddress()){
+						return jlvte;
+					}
+				} catch (CorruptDataException e) {
+				}
+			}
+		}
+		for (JLocalVariableTableEntry jlvte: localVars){
+			if (jlvte.getSlot() == slot){
+				return jlvte;
+			}
+		}
+		return null;
+	}
+
+	/** 
+	 * Store generic signature for this method.
+	 * Currently unimplemented as API doesn't require it.
+	 *  
+	 * @param signature
+	 */
+	public void setGenericsignature(String signature) {
+		// Unimplemented
+	}
+
+	/**
+	 * Returns the generic signature of this method.
+	 * Currently not implemented.
+	 * 
+	 * @return null
+	 */
+	public String getGenericsignature() {
+		return null;
+	}
+	
 }
\ No newline at end of file

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMethod.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/kato/trunk/org.apache.kato/kato.cjvmti/src/main/java/org/apache/kato/jvmti/javaruntime/model/JMonitor.java
------------------------------------------------------------------------------
    svn:eol-style = native