org.gjt.sp.jedit
Class EditServer

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--org.gjt.sp.jedit.EditServer
All Implemented Interfaces:
java.lang.Runnable

public class EditServer
extends java.lang.Thread

Inter-process communication.

The edit server protocol is very simple. $HOME/.jedit/server is an ASCII file containing two lines, the first being the port number, the second being the authorization key.

You connect to that port on the local machine, sending the authorization key as four bytes in network byte order, followed by the length of the BeanShell script as two bytes in network byte order, followed by the script in UTF8 encoding. After the socked is closed, the BeanShell script will be executed by jEdit.

The snippet is executed in the AWT thread. None of the usual BeanShell variables (view, buffer, textArea, editPane) are set so the script has to figure things out by itself.

In most cases, the script will call the static handleClient(boolean,String,String[]) method, but of course more complicated stuff can be done too.

Version:
$Id: EditServer.java,v 1.12 2003/02/28 17:53:41 spestov Exp $
Author:
Slava Pestov

Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
static void handleClient(boolean restore, java.lang.String parent, java.lang.String[] args)
           
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

handleClient

public static void handleClient(boolean restore,
                                java.lang.String parent,
                                java.lang.String[] args)
Parameters:
restore - Ignored unless no views are open
parent - The client's parent directory
args - A list of files. Null entries are ignored, for convinience
Since:
jEdit 3.2pre7