org.gjt.sp.jedit.io

## Class VFSManager

- java.lang.Object
- - org.gjt.sp.jedit.io.VFSManager

-     public class VFSManager
      extends java.lang.Object

  jEdit's virtual filesystem allows it to transparently edit files stored elsewhere than the local filesystem, for example on an FTP site. See the `VFS` class for implementation details.

  Note that most of the jEdit API is not thread-safe, so special care must be taken when making jEdit API calls. Also, it is not safe to call `SwingUtilities.invokeAndWait()` from a work request; it can cause a deadlock if the given runnable then later calls `waitForRequests()`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `SERVICE` The service type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `error(java.awt.Component comp, java.lang.String path, java.lang.String messageProp, java.lang.Object[] args)` Reports an I/O error with default urgency, `Log.ERROR`
    `static void` | `error(java.awt.Component comp, java.lang.String path, java.lang.String messageProp, java.lang.Object[] args, int urgency)` Reports an I/O error.
    `static void` | `error(java.io.IOException e, java.lang.String path, java.awt.Component comp)` Handle an I/O error.
    `static boolean` | `errorOccurred()` Returns if the last request caused an error.
    `static VFS` | `getFileVFS()` Returns the local filesystem VFS.
    `static int` | `getRequestCount()` Returns the number of pending I/O requests.
    `static VFS` | `getUrlVFS()` Returns the URL VFS.
    `static VFS` | `getVFSForPath(java.lang.String path)` Returns the VFS for the specified path.
    `static VFS` | `getVFSForProtocol(java.lang.String protocol)` Returns the VFS for the specified protocol.
    `static java.lang.String[]` | `getVFSs()` Returns a list of all registered filesystems.
    `static void` | `init()` Do not call.
    `static void` | `runInAWTThread(java.lang.Runnable run)` Deprecated. Using that method, when you run a task in AWT Thread, it will wait for all background task causing some unwanted delays. If you need calling a task after a background work, please add your runnable to the EDT thread yourself at the end of the background task
    `static void` | `runInWorkThread(Task run)` Deprecated. You should not use this method, this threadpool links the AWT Threads and Work threads.
    `static void` | `sendVFSUpdate(VFS vfs, java.lang.String path, boolean parent)` Sends a VFS update message.
    `static void` | `start()` Do not call.
    `static void` | `waitForRequests()` Returns when all pending requests are complete.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SERVICE

          public static final java.lang.String SERVICE

      The service type. See `ServiceManager`.
      Since:
        jEdit 4.2pre1
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### init

          public static void init()

      Do not call.

    - #### start

          public static void start()

      Do not call.

    - #### getFileVFS

          public static VFS getFileVFS()

      Returns the local filesystem VFS.
      Since:
        jEdit 2.5pre1

    - #### getUrlVFS

          public static VFS getUrlVFS()

      Returns the URL VFS.
      Since:
        jEdit 2.5pre1

    - #### getVFSForProtocol

          public static VFS getVFSForProtocol(java.lang.String protocol)

      Returns the VFS for the specified protocol.
      Parameters:
        `protocol` - The protocol
      Since:
        jEdit 2.5pre1

    - #### getVFSForPath

          public static VFS getVFSForPath(java.lang.String path)

      Returns the VFS for the specified path.
      Parameters:
        `path` - The path
      Since:
        jEdit 2.6pre4

    - #### getVFSs

          public static java.lang.String[] getVFSs()

      Returns a list of all registered filesystems.
      Since:
        jEdit 4.2pre1

    - #### waitForRequests

          public static void waitForRequests()

      Returns when all pending requests are complete. Must be called in the Event Dispatch Thread
      Since:
        jEdit 2.5pre1

    - #### errorOccurred

          public static boolean errorOccurred()

      Returns if the last request caused an error.

    - #### getRequestCount

          public static int getRequestCount()

      Returns the number of pending I/O requests.

    - #### runInAWTThread

          @Deprecated
          public static void runInAWTThread(java.lang.Runnable run)

      Deprecated. Using that method, when you run a task in AWT Thread, it will wait for all background task causing some unwanted delays. If you need calling a task after a background work, please add your runnable to the EDT thread yourself at the end of the background task
      Executes the specified runnable in the AWT thread once all pending I/O requests are complete. Only in one case the `Runnable` is executed directly: when the current thread is EDT and there are no I/O requests active or queued at the moment of call.
      Since:
        jEdit 2.5pre1
      See Also:
        `ThreadUtilities.runInDispatchThread(Runnable)`, `ThreadUtilities.runInDispatchThreadAndWait(Runnable)`

    - #### runInWorkThread

          @Deprecated
          public static void runInWorkThread(Task run)

      Deprecated. You should not use this method, this threadpool links the AWT Threads and Work threads.
      Executes the specified runnable in one of the I/O threads.
      Since:
        jEdit 2.6pre2
      See Also:
        `ThreadUtilities.runInBackground(org.gjt.sp.util.Task)`, `ThreadUtilities.runInBackground(Runnable)`

    - #### error

          public static void error(java.io.IOException e,
                   java.lang.String path,
                   java.awt.Component comp)

      Handle an I/O error.
      Since:
        jEdit 4.3pre3

    - #### error

          public static void error(java.awt.Component comp,
                   java.lang.String path,
                   java.lang.String messageProp,
                   java.lang.Object[] args)

      Reports an I/O error with default urgency, `Log.ERROR`
      Parameters:
        `comp` - The component
        `path` - The path name that caused the error
        `messageProp` - The error message property name
        `args` - Positional parameters
      Since:
        jEdit 4.0pre3

    - #### error

          public static void error(java.awt.Component comp,
                   java.lang.String path,
                   java.lang.String messageProp,
                   java.lang.Object[] args,
                   int urgency)

      Reports an I/O error.
      Parameters:
        `comp` - The component
        `path` - The path name that caused the error
        `messageProp` - The error message property name
        `args` - Positional parameters
        `urgency` - Logging urgency (level)
      Since:
        jEdit 5.0pre1

    - #### sendVFSUpdate

          public static void sendVFSUpdate(VFS vfs,
                           java.lang.String path,
                           boolean parent)

      Sends a VFS update message.
      Parameters:
        `vfs` - The VFS
        `path` - The path that changed
        `parent` - True if an update should be sent for the path's parent too
      Since:
        jEdit 2.6pre4