/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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. */ /** * @author Vitaly A. Provodin */ /** * Created on 26.01.2005 */ package org.apache.harmony.jpda.tests.framework; /** * This class represents debuggee VM on debugger side. *

* This abstract class defines a set of commands to control debuggee VM. * To provide the safely start up and shoot down of debuggee, an instance of * DebuggeeWrapper should be registered in DebuggeeRegister. * * @see DebuggeeRegister */ public abstract class DebuggeeWrapper { protected TestOptions settings; protected LogWriter logWriter; /** * Creates an instance of DebuggeeWrapper. * * @param settings specifies parameters for debuggee start * @param logWriter provides unified facilities for logging */ public DebuggeeWrapper(TestOptions settings, LogWriter logWriter) { super(); this.settings = settings; this.logWriter = logWriter; } /** * An implementation of this method must initiate the debuggee to start. */ public abstract void start(); /** * An implementation of this method must cause the debuggee to stop. */ public abstract void stop(); /** * An implementation of this method must cause the debuggee to exit * with specified exitStatus . * * @param exitStatus */ public abstract void exit(int exitStatus); /** * An implementation of this method must cause the debuggee to resume. */ public abstract void resume(); /** * An implementation of this method must cause the debuggee to dispose. */ public abstract void dispose(); /** * Return associated logWriter object. * * @return associated logWriter */ public LogWriter getLogWriter() { return logWriter; } }