gnu.classpath.jdwp.event

Class Event

Known Direct Subclasses:
BreakpointEvent, ClassPrepareEvent, ClassUnloadEvent, ExceptionEvent, MethodEntryEvent, MethodExitEvent, SingleStepEvent, ThreadEndEvent, ThreadStartEvent, VmDeathEvent, VmInitEvent

public abstract class Event
extends Object

This class is a base class for all VM->debugger event notifications.

Field Summary

static int
EVENT_CLASS
The class of the object in which the event occurred
static int
EVENT_EXCEPTION_CAUGHT
Whether this exception was caught (only valid for ExceptionEvents)
static int
EVENT_EXCEPTION_CLASS
The class of the exception for ExceptionEvent
static int
EVENT_FIELD
The field acted on by an event
static int
EVENT_INSTANCE
The instance of the class where the event occurred
static int
EVENT_LOCATION
The location where an event occurred
static int
EVENT_THREAD
The thread where the event occurred

Constructor Summary

Event(byte kind)
Constructs an Event of the given kind

Method Summary

protected abstract void
_writeData(DataOutputStream outStream)
Abstract function used by implementing classes to fill in the event-specific data.
byte
getEventKind()
Returns the event type of this event
abstract Object
getParameter(int type)
Returns a specific filtering parameter for this event.
static JdwpPacket
toPacket(DataOutputStream dos, Event[] events, EventRequest[] requests, byte suspendPolicy)
Converts the events into to a single JDWP Event.COMPOSITE packet

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

EVENT_CLASS

public static final int EVENT_CLASS
The class of the object in which the event occurred
Field Value:
1

EVENT_EXCEPTION_CAUGHT

public static final int EVENT_EXCEPTION_CAUGHT
Whether this exception was caught (only valid for ExceptionEvents)
Field Value:
7

EVENT_EXCEPTION_CLASS

public static final int EVENT_EXCEPTION_CLASS
The class of the exception for ExceptionEvent
Field Value:
6

EVENT_FIELD

public static final int EVENT_FIELD
The field acted on by an event
Field Value:
5

EVENT_INSTANCE

public static final int EVENT_INSTANCE
The instance of the class where the event occurred
Field Value:
4

EVENT_LOCATION

public static final int EVENT_LOCATION
The location where an event occurred
Field Value:
3

EVENT_THREAD

public static final int EVENT_THREAD
The thread where the event occurred
Field Value:
2

Constructor Details

Event

public Event(byte kind)
Constructs an Event of the given kind
Parameters:
kind - the type of event

Method Details

_writeData

protected abstract void _writeData(DataOutputStream outStream)
            throws IOException
Abstract function used by implementing classes to fill in the event-specific data. Note that request ID is automatically added by this class (since it appears in all event notifications).
Parameters:
outStream - the stream to which to write data

getEventKind

public byte getEventKind()
Returns the event type of this event

getParameter

public abstract Object getParameter(int type)
Returns a specific filtering parameter for this event. For example, most events may be filtered by thread. Consequently, a call to this method with ThreadId.class should return a Thread.
Parameters:
type - the type of parameter to return

toPacket

public static JdwpPacket toPacket(DataOutputStream dos,
                                  Event[] events,
                                  EventRequest[] requests,
                                  byte suspendPolicy)
Converts the events into to a single JDWP Event.COMPOSITE packet
Parameters:
dos - the stream to which to write data
events - the events to package into the packet
requests - the corresponding event requests
suspendPolicy - the suspend policy enforced by the VM

Event.java -- a base class for all event types Copyright (C) 2005, 2007 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.