EditServer (jEdit API Documentation)
Date: 2015-02-03

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. `jEditSettingsDir/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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.lang.Thread

      `java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

  - ### Field Summary

    - ### Fields inherited from class java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getPort()`
    `static Buffer` | `handleClient(boolean restore, boolean newView, boolean newPlainView, java.lang.String parent, java.lang.String[] args)`
    `static void` | `handleClient(boolean restore, java.lang.String parent, java.lang.String[] args)`
    `void` | `run()`

    - ### Methods inherited from class java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

    - ### Methods inherited from class java.lang.Object

      `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

    - #### handleClient

          public static Buffer handleClient(boolean restore,
                            boolean newView,
                            boolean newPlainView,
                            java.lang.String parent,
                            java.lang.String[] args)

      Parameters:
        `restore` - Ignored unless no views are open
        `newView` - Open a new view?
        `newPlainView` - Open a new plain view?
        `parent` - The client's parent directory
        `args` - A list of files. Null entries are ignored, for convinience
      Since:
        jEdit 4.2pre1

    - #### getPort

          public int getPort()