|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gjt.sp.jedit.io.VFS
public abstract class VFS
A virtual filesystem implementation.
Plugins can provide virtual file systems by defining entries in their
services.xml
files like so:
<SERVICE CLASS="org.gjt.sp.jedit.io.VFS" NAME="name"> new MyVFS(); </SERVICE>URLs of the form
name:path
will then be handled
by the VFS named name
.
See ServiceManager
for details.
Methods whose names are prefixed with "_" expect to be given a previously-obtained session object. A session must be obtained from the AWT thread in one of two ways:
When done, the session must be disposed of using_endVFSSession(Object,Component)
.
createVFSSession(String,Component)
insert(View,Buffer,String)
load(View,Buffer,String)
save(View,Buffer,String)
showBrowseDialog(Object[],Component)
getCapabilities()
returns a value reflecting the functionality
implemented by your VFS.
VFSManager.getVFSForPath(String)
,
VFSManager.getVFSForProtocol(String)
Nested Class Summary | |
---|---|
static class |
VFS.DirectoryEntry
Deprecated. Use VFSFile instead. |
static class |
VFS.DirectoryEntryCompare
Implementation of Comparator
interface that compares VFS.DirectoryEntry instances. |
Field Summary | |
---|---|
static int |
BROWSE_CAP
Browse capability |
static int |
CASE_INSENSITIVE_CAP
Case insensitive file system capability. |
static int |
DELETE_CAP
Delete file capability. |
static java.lang.String |
EA_MODIFIED
File last modified date. |
static java.lang.String |
EA_SIZE
File size. |
static java.lang.String |
EA_STATUS
File status (read only, read write, etc). |
static java.lang.String |
EA_TYPE
File type. |
static int |
IOBUFSIZE
|
static int |
LOW_LATENCY_CAP
Low latency capability. |
static int |
MKDIR_CAP
Make directory capability. |
static int |
READ_CAP
Read capability. |
static int |
RENAME_CAP
Rename file capability. |
static int |
WRITE_CAP
Write capability. |
Constructor Summary | |
---|---|
protected |
VFS(java.lang.String name)
Deprecated. Use the form where the constructor takes a capability list. |
protected |
VFS(java.lang.String name,
int caps)
Creates a new virtual filesystem. |
protected |
VFS(java.lang.String name,
int caps,
java.lang.String[] extAttrs)
Creates a new virtual filesystem. |
Method Summary | |
---|---|
void |
_backup(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Backs up the specified file. |
java.lang.String |
_canonPath(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Returns the canonical form of the specified path name. |
java.io.InputStream |
_createInputStream(java.lang.Object session,
java.lang.String path,
boolean ignoreErrors,
java.awt.Component comp)
Creates an input stream. |
java.io.OutputStream |
_createOutputStream(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Creates an output stream. |
boolean |
_delete(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Deletes the specified URL. |
void |
_endVFSSession(java.lang.Object session,
java.awt.Component comp)
Finishes the specified VFS session. |
void |
_finishTwoStageSave(java.lang.Object session,
Buffer buffer,
java.lang.String path,
java.awt.Component comp)
Called after a file has been saved and we use twoStageSave (first saving to another file). |
VFS.DirectoryEntry |
_getDirectoryEntry(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Deprecated. Use _getFile() instead. |
VFSFile |
_getFile(java.lang.Object session,
java.lang.String path,
java.awt.Component comp)
Returns the specified directory entry. |
VFS.DirectoryEntry[] |
_listDirectory(java.lang.Object session,
java.lang.String directory,
java.awt.Component comp)
Deprecated. Use _listFiles() instead. |
java.lang.String[] |
_listDirectory(java.lang.Object session,
java.lang.String directory,
java.lang.String glob,
boolean recursive,
java.awt.Component comp)
A convinience method that matches file names against globs, and can optionally list the directory recursively. |
java.lang.String[] |
_listDirectory(java.lang.Object session,
java.lang.String directory,
java.lang.String glob,
boolean recursive,
java.awt.Component comp,
boolean skipBinary,
boolean skipHidden)
A convenience method that matches file names against globs, and can optionally list the directory recursively. |
java.lang.String[] |
_listDirectory(java.lang.Object session,
java.lang.String directory,
VFSFileFilter filter,
boolean recursive,
java.awt.Component comp,
boolean skipBinary,
boolean skipHidden)
A convenience method that filters the directory listing according to a filter, and can optionally list the directory recursively. |
VFSFile[] |
_listFiles(java.lang.Object session,
java.lang.String directory,
java.awt.Component comp)
Lists the specified directory. |
boolean |
_mkdir(java.lang.Object session,
java.lang.String directory,
java.awt.Component comp)
Creates a new directory with the specified URL. |
boolean |
_rename(java.lang.Object session,
java.lang.String from,
java.lang.String to,
java.awt.Component comp)
Renames the specified URL. |
void |
_saveComplete(java.lang.Object session,
Buffer buffer,
java.lang.String path,
java.awt.Component comp)
Called after a file has been saved. |
java.lang.String |
constructPath(java.lang.String parent,
java.lang.String path)
Constructs a path from the specified directory and file name component. |
static boolean |
copy(ProgressObserver progress,
java.lang.String sourcePath,
java.lang.String targetPath,
java.awt.Component comp,
boolean canStop)
Copy a file to another using VFS. |
static boolean |
copy(ProgressObserver progress,
VFS sourceVFS,
java.lang.Object sourceSession,
java.lang.String sourcePath,
VFS targetVFS,
java.lang.Object targetSession,
java.lang.String targetPath,
java.awt.Component comp,
boolean canStop)
Copy a file to another using VFS. |
java.lang.Object |
createVFSSession(java.lang.String path,
java.awt.Component comp)
Creates a VFS session. |
int |
getCapabilities()
Returns the capabilities of this VFS. |
static java.awt.Color |
getDefaultColorFor(java.lang.String name)
Returns color of the specified file name, by matching it against user-specified regular expressions. |
java.lang.String[] |
getExtendedAttributes()
Returns the extended attributes supported by this VFS. |
java.lang.String |
getFileName(java.lang.String path)
Returns the file name component of the specified path. |
char |
getFileSeparator()
Returns the file separator used by this VFS. |
java.lang.String |
getName()
Returns this VFS's name. |
java.lang.String |
getParentOfPath(java.lang.String path)
Returns the parent of the specified path. |
java.lang.String |
getTwoStageSaveName(java.lang.String path)
Returns a temporary file name based on the given path. |
boolean |
insert(View view,
Buffer buffer,
java.lang.String path)
Inserts a file into the specified buffer. |
boolean |
isMarkersFileSupported()
Returns if an additional markers file can be saved by this VFS. |
boolean |
load(View view,
Buffer buffer,
java.lang.String path)
Loads the specified buffer. |
void |
reloadDirectory(java.lang.String path)
Called before a directory is reloaded by the file system browser. |
boolean |
save(View view,
Buffer buffer,
java.lang.String path)
Saves the specifies buffer. |
java.lang.String |
showBrowseDialog(java.lang.Object[] session,
java.awt.Component comp)
Deprecated. This function is not used in the jEdit core anymore, so it doesn't have to be provided anymore. If you want to use it for another purpose like in the FTP plugin, feel free to do so. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int READ_CAP
public static final int WRITE_CAP
public static final int BROWSE_CAP
browser.actions.xml
file in your plugin JAR, and
define plugin.class.browser-menu-item
or plugin.class.browser-menu
properties.
See EditPlugin
for details.public static final int DELETE_CAP
public static final int RENAME_CAP
public static final int MKDIR_CAP
public static final int LOW_LATENCY_CAP
public static final int CASE_INSENSITIVE_CAP
public static final java.lang.String EA_TYPE
public static final java.lang.String EA_STATUS
public static final java.lang.String EA_SIZE
public static final java.lang.String EA_MODIFIED
public static int IOBUFSIZE
Constructor Detail |
---|
@Deprecated protected VFS(java.lang.String name)
protected VFS(java.lang.String name, int caps)
name
- The namecaps
- The capabilitiesprotected VFS(java.lang.String name, int caps, java.lang.String[] extAttrs)
name
- The namecaps
- The capabilitiesextAttrs
- The extended attributesMethod Detail |
---|
public java.lang.String getName()
vfs.name.label
property.
public int getCapabilities()
public boolean isMarkersFileSupported()
true
.
public java.lang.String[] getExtendedAttributes()
@Deprecated public java.lang.String showBrowseDialog(java.lang.Object[] session, java.awt.Component comp)
session
- Where the VFS session will be storedcomp
- The component that will parent error dialog boxes
public java.lang.String getFileName(java.lang.String path)
path
- The pathpublic java.lang.String getParentOfPath(java.lang.String path)
path
- The pathpublic java.lang.String constructPath(java.lang.String parent, java.lang.String path)
Unless you are writing a VFS, this method should not be called
directly. To ensure correct behavior, you must call
MiscUtilities.constructPath(String,String)
instead.
parent
- The parent directorypath
- The pathpublic char getFileSeparator()
public java.lang.String getTwoStageSaveName(java.lang.String path)
#name#save#
and then renames it to the original file. However some virtual file
systems might not support the #
character in filenames,
so this method permits the VFS to override this behavior.
If this method returns null
, two stage save will not
be used for that particular file (introduced in jEdit 4.3pre1).
path
- The path namepublic void reloadDirectory(java.lang.String path)
public java.lang.Object createVFSSession(java.lang.String path, java.awt.Component comp)
path
- The path in questioncomp
- The component that will parent any dialog boxes shown
public boolean load(View view, Buffer buffer, java.lang.String path)
view
- The viewbuffer
- The bufferpath
- The pathpublic boolean save(View view, Buffer buffer, java.lang.String path)
view
- The viewbuffer
- The bufferpath
- The pathpublic static boolean copy(ProgressObserver progress, VFS sourceVFS, java.lang.Object sourceSession, java.lang.String sourcePath, VFS targetVFS, java.lang.Object targetSession, java.lang.String targetPath, java.awt.Component comp, boolean canStop) throws java.io.IOException
progress
- the progress observer. It could be null if you don't want to monitor progress. If not null
you should probably launch this command in a WorkThreadsourceVFS
- the source VFSsourceSession
- the VFS sessionsourcePath
- the source pathtargetVFS
- the target VFStargetSession
- the target sessiontargetPath
- the target pathcomp
- comp The component that will parent error dialog boxescanStop
- could this copy be stopped ?
java.io.IOException
- IOException If an I/O error occurspublic static boolean copy(ProgressObserver progress, java.lang.String sourcePath, java.lang.String targetPath, java.awt.Component comp, boolean canStop) throws java.io.IOException
progress
- the progress observer. It could be null if you don't want to monitor progress. If not null
you should probably launch this command in a WorkThreadsourcePath
- the source pathtargetPath
- the target pathcomp
- comp The component that will parent error dialog boxescanStop
- if true the copy can be stopped
java.io.IOException
- IOException If an I/O error occurspublic boolean insert(View view, Buffer buffer, java.lang.String path)
view
- The viewbuffer
- The bufferpath
- The pathpublic java.lang.String _canonPath(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
~
might be expanded to the user's home directory.
session
- The sessionpath
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurredpublic java.lang.String[] _listDirectory(java.lang.Object session, java.lang.String directory, java.lang.String glob, boolean recursive, java.awt.Component comp) throws java.io.IOException
session
- The sessiondirectory
- The directory. Note that this must be a full
URL, including the host name, path name, and so on. The
username and password (if needed by the VFS) is obtained from the
session instance.glob
- Only file names matching this glob will be returnedrecursive
- If true, subdirectories will also be listed.comp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurredpublic java.lang.String[] _listDirectory(java.lang.Object session, java.lang.String directory, java.lang.String glob, boolean recursive, java.awt.Component comp, boolean skipBinary, boolean skipHidden) throws java.io.IOException
session
- The sessiondirectory
- The directory. Note that this must be a full
URL, including the host name, path name, and so on. The
username and password (if needed by the VFS) is obtained from the
session instance.glob
- Only file names matching this glob will be returnedrecursive
- If true, subdirectories will also be listed.comp
- The component that will parent error dialog boxesskipBinary
- ignore binary files (do not return them).
This will slow down the process since it will open the filesskipHidden
- skips hidden files, directories, and
backup files. Ignores any file beginning with . or #, or ending with ~
or .bak
java.io.IOException
- if an I/O error occurredpublic java.lang.String[] _listDirectory(java.lang.Object session, java.lang.String directory, VFSFileFilter filter, boolean recursive, java.awt.Component comp, boolean skipBinary, boolean skipHidden) throws java.io.IOException
session
- The sessiondirectory
- The directory. Note that this must be a full
URL, including the host name, path name, and so on. The
username and password (if needed by the VFS) is obtained from the
session instance.filter
- The VFSFileFilter
to use for filtering.recursive
- If true, subdirectories will also be listed.comp
- The component that will parent error dialog boxesskipBinary
- ignore binary files (do not return them).
This will slow down the process since it will open the filesskipHidden
- skips hidden files, directories, and
backup files. Ignores any file beginning with . or #, or ending with ~
or .bak
java.io.IOException
- if an I/O error occurredpublic VFSFile[] _listFiles(java.lang.Object session, java.lang.String directory, java.awt.Component comp) throws java.io.IOException
session
- The sessiondirectory
- The directory. Note that this must be a full
URL, including the host name, path name, and so on. The
username and password (if needed by the VFS) is obtained from the
session instance.comp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurred@Deprecated public VFS.DirectoryEntry[] _listDirectory(java.lang.Object session, java.lang.String directory, java.awt.Component comp) throws java.io.IOException
_listFiles()
instead.
java.io.IOException
public VFSFile _getFile(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- The session get it with createVFSSession(String, Component)
path
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurred@Deprecated public VFS.DirectoryEntry _getDirectoryEntry(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
_getFile()
instead.
session
- The session get it with createVFSSession(String, Component)
path
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurredpublic boolean _delete(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessionpath
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurspublic boolean _rename(java.lang.Object session, java.lang.String from, java.lang.String to, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessionfrom
- The old pathto
- The new pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurspublic boolean _mkdir(java.lang.Object session, java.lang.String directory, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessiondirectory
- The directorycomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurspublic void _backup(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessionpath
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurspublic java.io.InputStream _createInputStream(java.lang.Object session, java.lang.String path, boolean ignoreErrors, java.awt.Component comp) throws java.io.IOException
session
- the VFS sessionpath
- The pathignoreErrors
- If true, file not found errors should be
ignoredcomp
- The component that will parent error dialog boxes
null
if there was a problem
java.io.IOException
- If an I/O error occurspublic java.io.OutputStream _createOutputStream(java.lang.Object session, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- the VFS sessionpath
- The pathcomp
- The component that will parent error dialog boxes
java.io.IOException
- If an I/O error occurspublic void _saveComplete(java.lang.Object session, Buffer buffer, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessionbuffer
- The bufferpath
- The path the buffer was saved to (can be different from
Buffer.getPath()
if the user invoked the
Save a Copy As command, for example).comp
- The component that will parent error dialog boxes
java.io.IOException
- If an I/O error occurspublic void _finishTwoStageSave(java.lang.Object session, Buffer buffer, java.lang.String path, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessionbuffer
- The bufferpath
- The path the buffer was saved to (can be different from
Buffer.getPath()
if the user invoked the
Save a Copy As command, for example).comp
- The component that will parent error dialog boxes
java.io.IOException
- If an I/O error occurspublic void _endVFSSession(java.lang.Object session, java.awt.Component comp) throws java.io.IOException
session
- The VFS sessioncomp
- The component that will parent error dialog boxes
java.io.IOException
- if an I/O error occurredpublic static java.awt.Color getDefaultColorFor(java.lang.String name)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |