File: RMainLoopCallbacks.java

package info (click to toggle)
rjava 1.0-6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 5,208 kB
  • sloc: javascript: 16,048; java: 13,116; ansic: 5,330; sh: 3,776; xml: 325; makefile: 250; perl: 33
file content (41 lines) | stat: -rw-r--r-- 2,980 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package org.rosuda.JRI;

/** Interface which must be implmented by any class that wants to pose as the call-back handler for R event loop callbacks. It is legal to return immediately except when user interaction is required: {@link #rReadConsole} and {@link #rChooseFile} are expected to block until the user performs the desired action. */
public interface RMainLoopCallbacks {
    /** called when R prints output to the console
	@param re calling engine
	@param text text to display in the console
	@param oType output type (0=regular, 1=error/warning)
    */
    public void   rWriteConsole (Rengine re, String text, int oType);
    /** called when R enters or exits a longer evaluation. It is usually a good idea to signal this state to the user, e.g. by changing the cursor to a "hourglass" and back.
	@param re calling engine
	@param which identifies whether R enters (1) or exits (0) the busy state */
    public void   rBusy         (Rengine re, int which);
    /** called when R waits for user input. During the duration of this callback it is safe to re-enter R, and very often it is also the only time. The implementation is free to block on this call until the user hits Enter, but in JRI it is a good idea to call {@link Rengine.rniIdle()} occasionally to allow other event handlers (e.g graphics device UIs) to run. Implementations should NEVER return immediately even if there is no input - such behavior will result in a fast cycling event loop which makes the use of R pretty much impossible.
	@param re calling engine
	@param prompt prompt to be displayed at the console prior to user's input
	@param addToHistory flag telling the handler whether the input should be considered for adding to history (!=0) or not (0)
	@return user's input to be passed to R for evaluation */
    public String rReadConsole  (Rengine re, String prompt, int addToHistory);
    /** called when R want to show a warning/error message (not to be confused with messages displayed in the console output)
	@param re calling engine
	@param message message to display */
    public void   rShowMessage  (Rengine re, String message);
    /** called when R expects the user to choose a file
	@param re calling engine
	@param newFile flag determining whether an existing or new file is to be selecteed
	@return path/name of the selected file */
    public String rChooseFile   (Rengine re, int newFile);
    /** called when R requests the console to flush any buffered output
	@param re calling engine */	
    public void   rFlushConsole (Rengine re);
    /** called to save the contents of the history (the implementation is responsible of keeping track of the history)
	@param re calling engine
	@param filename name of the history file */
    public void   rSaveHistory  (Rengine re, String filename);
    /** called to load the contents of the history
	@param re calling engine
	@param filename name of the history file */
    public void   rLoadHistory  (Rengine re, String filename);
}