01: package freemarker.debug;
02:
03: import java.rmi.RemoteException;
04:
05: /**
06: * Represents the debugger-side mirror of a debugged
07: * {@link freemarker.core.Environment} object in the remote VM. This interface
08: * extends {@link DebugModel}, and the properties of the Environment are exposed
09: * as hash keys on it. Specifically, the following keys are supported:
10: * "currentNamespace", "dataModel", "globalNamespace", "knownVariables",
11: * "mainNamespace", and "template".
12: * <p>The debug model for the template supports keys "configuration" and "name".
13: * <p>The debug model for the configuration supports key "sharedVariables".
14: * <p>Additionally, all of the debug models for environment, template, and
15: * configuration also support all the setting keys of
16: * {@link freemarker.core.Configurable} objects.
17:
18: * @author Attila Szegedi
19: * @version $Id: DebuggedEnvironment.java,v 1.1 2003/05/02 15:55:48 szegedia Exp $
20: */
21: public interface DebuggedEnvironment extends DebugModel {
22: /**
23: * Resumes the processing of the environment in the remote VM after it was
24: * stopped on a breakpoint.
25: * @throws RemoteException
26: */
27: public void resume() throws RemoteException;
28:
29: /**
30: * Stops the processing of the environment after it was stopped on
31: * a breakpoint. Causes a {@link freemarker.core.StopException} to be
32: * thrown in the processing thread in the remote VM.
33: * @throws RemoteException
34: */
35: public void stop() throws RemoteException;
36:
37: /**
38: * Returns a unique identifier for this environment
39: * @throws RemoteException
40: */
41: public long getId() throws RemoteException;
42: }
|