VFSManager (jEdit API Documentation)

Package 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 | Description
    --- | --- | ---
    `static java.lang.String` | `SERVICE` | The service type.

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | `canReadFile​(java.lang.String path)` | Returns true if the file exists
    `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.
    `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.

    - #### canReadFile

          public static boolean canReadFile​(java.lang.String path)

      Returns true if the file exists
      Parameters:
        `path` - the path of the file
      Returns:
        true if the file exists and can be read
      Since:
        jEdit 5.6pre1

    - #### 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

          @Nonnull
          public static VFS getVFSForProtocol​(java.lang.String protocol)

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

    - #### getVFSForPath

          @Nonnull
          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