|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.openide.filesystems.FileSystem | +--org.openide.filesystems.MultiFileSystem
The base for all filesystems that are build above a top of other ones. This system expects at most one filesystem it should write to and any number of filesystems to read from. If there is more versions of one file than the one from writable file system is prefered or the read only systems are scanned in the given order.
Inner classes inherited from class org.openide.filesystems.FileSystem |
FileSystem.AtomicAction, FileSystem.Environment, FileSystem.Status |
Fields inherited from class org.openide.filesystems.FileSystem |
PROP_HIDDEN, PROP_READ_ONLY, PROP_ROOT, PROP_SYSTEM_NAME, PROP_VALID |
Constructor Summary | |
protected |
MultiFileSystem()
Creates new empty MultiFileSystem. |
|
MultiFileSystem(FileSystem[] fileSystems)
Creates new MultiFileSystem. |
Method Summary | |
void |
addNotify()
Notifies all encapsulated file systems in advance to superclass behaviour. |
protected Set |
createLocksOn(String name)
When a file is about to be locked this method is consulted to choose which delegates should be locked. |
protected FileSystem |
createWritableOn(String name)
Finds the system to create writable version of the file on. |
protected FileSystem |
createWritableOnForRename(String oldName,
String newName)
Special case of createWritableOn (@see #createWritableOn). |
FileObject |
find(String aPackage,
String name,
String ext)
Finds file in the filesystem by name. |
FileObject |
findResource(String name)
Finds file when its resource name is given. |
protected FileObject |
findResourceOn(FileSystem fs,
String res)
Finds a resource on given file system. |
protected FileSystem |
findSystem(FileObject fo)
For given file object finds the file system that the object is placed on. |
SystemAction[] |
getActions()
Merge actions from all delegates. |
SystemAction[] |
getActions(Set foSet)
|
protected FileSystem[] |
getDelegates()
All filesystem that this system delegates to. |
String |
getDisplayName()
The name of the file system. |
boolean |
getPropagateMasks()
Will mask files that are not used be listed as children? |
FileObject |
getRoot()
Root of the file system. |
protected static Enumeration |
hiddenFiles(FileObject folder,
boolean rec)
Finds all hidden files on given file system. |
protected void |
hideResource(String res,
boolean hide)
Marks a resource as hidden. |
boolean |
isReadOnly()
This file system is readonly if it has not writable system. |
protected void |
markUnimportant(FileObject fo)
Notification that a file has been marked unimportant. |
protected void |
notifyMigration(FileObject fo)
Notification that a file has migrated from one file system to another. |
void |
prepareEnvironment(FileSystem.Environment env)
Lets any sub file systems prepare the environment. |
void |
removeNotify()
Notifies all encapsulated file systems in advance to superclass behaviour. |
protected void |
setDelegates(FileSystem[] fileSystems)
Changes the filesystems that this system delegates to |
protected void |
setPropagateMasks(boolean pm)
Set whether unused mask files should be listed as children. |
Methods inherited from class org.openide.filesystems.FileSystem |
addFileStatusListener, addPropertyChangeListener, addVetoableChangeListener, fireFileStatusChanged, firePropertyChange, fireVetoableChange, getCapability, getStatus, getSystemName, isDefault, isHidden, isPersistent, isValid, removeFileStatusListener, removePropertyChangeListener, removeVetoableChangeListener, runAtomicAction, setCapability, setHidden, setSystemName, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
protected MultiFileSystem()
public MultiFileSystem(FileSystem[] fileSystems)
array
- of file systems (can contain nulls)Method Detail |
protected final void setDelegates(FileSystem[] fileSystems)
arr
- array of filesystemsprotected final FileSystem[] getDelegates()
public final boolean getPropagateMasks()
true
if soprotected final void setPropagateMasks(boolean pm)
pm
- true
if sopublic boolean isReadOnly()
isReadOnly
in class FileSystem
org.openide.filesystems.FileSystem
public String getDisplayName()
getDisplayName
in class FileSystem
org.openide.filesystems.FileSystem
public FileObject getRoot()
getRoot
in class FileSystem
org.openide.filesystems.FileSystem
public SystemAction[] getActions()
getActions
in class FileSystem
org.openide.filesystems.FileSystem
public SystemAction[] getActions(Set foSet)
getActions
in class FileSystem
public FileObject find(String aPackage, String name, String ext)
FileSystem
The default implementation converts dots in the package name into slashes,
concatenates the strings, adds any extension prefixed by a dot and calls
the findResource
method.
Note: when both of name
and ext
are null
then name and
extension should be ignored and scan should look only for a package.
find
in class FileSystem
org.openide.filesystems.FileSystem
aPackage
- package name where each package component is separated by a dotname
- name of the file (without dots) or null
if
one wants to obtain a folder (package) and not a file in itext
- extension of the file (without leading dot) or null
if one needs
a package and not a filenull
if the file does not existpublic FileObject findResource(String name)
FileSystem
ClassLoader.getResource(String)
method. So it may consist of "package1/package2/filename.ext".
If there is no package, it may consist only of "filename.ext".findResource
in class FileSystem
org.openide.filesystems.FileSystem
name
- resource namenull
if the file does not existprotected final FileSystem findSystem(FileObject fo) throws IllegalArgumentException
fo
- file objectIllegalArgumentException
- if the file object is not represented in this file systemprotected final void hideResource(String res, boolean hide) throws IOException
res
- resource name of file to hide or showhide
- true if we should hide the file/false otherwiseIOException
- if it is not possibleprotected static Enumeration hiddenFiles(FileObject folder, boolean rec)
folder
- folder to start atrec
- proceed recursivellyprotected FileObject findResourceOn(FileSystem fs, String res)
fs
- the filesystem to scan onres
- the resource name to look forprotected FileSystem createWritableOn(String name) throws IOException
name
- name of the file (full)IOException
- if the file system is readonlyprotected FileSystem createWritableOnForRename(String oldName, String newName) throws IOException
oldName
- original name of the file (full)newName
- name new of the file (full)IOException
- if the file system is readonlyprotected Set createLocksOn(String name) throws IOException
If an delegate resides on a filesystem returned in the resulting set, it will be locked. All others will remain unlocked.
name
- the resource name to lockIOException
- if the resource cannot be lockedprotected void notifyMigration(FileObject fo)
This method allows subclasses to fire for example FileSystem.PROP_STATUS change to notify that annotation of this file should change.
fo
- file object that change its actual file systemprotected void markUnimportant(FileObject fo)
fo
- file object that change its actual file systempublic void prepareEnvironment(FileSystem.Environment env) throws EnvironmentNotSupportedException
prepareEnvironment
in class FileSystem
org.openide.filesystems.FileSystem
env
- the environment to setupEnvironmentNotSupportedException
- if external execution
and compilation cannot be supportedpublic void addNotify()
addNotify
in class FileSystem
public void removeNotify()
removeNotify
in class FileSystem
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |