public class AppFileSystem
extends java.lang.Object
implements java.lang.AutoCloseable
Node
objects, starting with its root folder.
Node
objects may be Folder
s or File
, or any new file type added
by the user through the extension mechanism (see FileExtension
).
An application may have several instances of AppFileSystem
, each one with a unique name.
They are accessed through the parent AppData
instance.
The AppFileSystem is backed by an AppStorage
implementation, which is in charge of maintaining
the state of data of the AppFileSystem. The implementation may bring additional functionalities:
in-memory storage, database storage, remote storage, ...
Users of an AppFileSystem should not need to interact directly with the underlying AppStorage
.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FS_SEPARATOR |
static java.lang.String |
PATH_SEPARATOR |
Constructor and Description |
---|
AppFileSystem(java.lang.String name,
boolean remotelyAccessible,
AppStorage storage) |
AppFileSystem(java.lang.String name,
boolean remotelyAccessible,
ListenableAppStorage storage,
TaskMonitor taskMonitor) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
Node |
createNode(NodeInfo nodeInfo)
Creates a new Node in this file system.
|
<T extends ProjectFile> |
findProjectFile(java.lang.String projectFileId,
java.lang.Class<T> clazz)
Get a project file by its ID.
|
AppData |
getData() |
java.lang.String |
getName() |
Folder |
getRootFolder() |
TaskMonitor |
getTaskMonitor() |
boolean |
isClosed() |
boolean |
isRemotelyAccessible() |
public static final java.lang.String FS_SEPARATOR
public static final java.lang.String PATH_SEPARATOR
public AppFileSystem(java.lang.String name, boolean remotelyAccessible, AppStorage storage)
public AppFileSystem(java.lang.String name, boolean remotelyAccessible, ListenableAppStorage storage, TaskMonitor taskMonitor)
public java.lang.String getName()
public boolean isRemotelyAccessible()
public Folder getRootFolder()
public Node createNode(NodeInfo nodeInfo)
public <T extends ProjectFile> T findProjectFile(java.lang.String projectFileId, java.lang.Class<T> clazz)
public TaskMonitor getTaskMonitor()
public AppData getData()
public boolean isClosed()
public void close()
close
in interface java.lang.AutoCloseable