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

### Method Summary

Methods
`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