Package org.qdl_lang.vfs
Interface VFSFileProvider
- 
- All Superinterfaces:
- Serializable
 - All Known Implementing Classes:
- AbstractVFSFileProvider,- VFSMemoryFileProvider,- VFSMySQLProvider,- VFSPassThruFileProvider,- VFSZipFileProvider
 
 public interface VFSFileProvider extends Serializable A QDL virtual file system. This provides files from a mounted VFS. Requests come with a scheme, e.g.qdl-vfs:myscript.qdl. If the scheme (always ends with a :) matches, then the name is resolved and the script is returned. You add these to theStateload/run commands resolve against any script libraries then fall through to the local file system (unless it is running in server mode).
 Why not just use the JavaFileSystem? Because that allows for access to the underlying native file system and in a scripting environment, we want to severely restrict access to just read-only virtual file systems which can e.g., make libraries available.Created by Jeff Gaynor 
 on 2/5/20 at 7:43 AM
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanRead()booleancanWrite()booleancheckScheme(String name)Checks if the name has the scheme for this provider.booleancontains(String path)Contains is a type of read.voiddelete(String path)A delete is a type of write.String[]dir(String path)booleaneasSupported()If this store supports extended attributes.VFSEntryget(String name, int type)Get the named item.StringgetCurrentDir()edu.uiuc.ncsa.security.core.configuration.XPropertiesgetFileInfo(String path)StringgetMountPoint()This is the mount point for the virtual file system.StringgetScheme()The scheme that uniquely identifies this providerStringgetType()mostly this is so when information is being displayed to the user they can see the origin of the provider.booleanisDirectory(String path)booleanisScript(String path)Checks if the FQ name can be resolved to a script by this provider.longlength(String path)booleanmkdir(String path)Make a set of directories.voidput(String newPath, VFSEntry entry)Add the using the path.voidput(VFSEntry entry)Put this in the store at its current pathvoidrm(String path)Remove a file from the store.booleanrmdir(String path)This will remove a directory.voidsetCurrentDir(String path)voidsetMountPoint(String mountPoint)The mount point does both start and end with the path separator since we always need it.voidsetRead(boolean newValue)voidsetScheme(String scheme)The scheme is does not end with the scheme delimiter and should be normalized here.voidsetWrite(boolean newValue)
 
- 
- 
- 
Method Detail- 
getTypeString getType() mostly this is so when information is being displayed to the user they can see the origin of the provider.- Returns:
 
 - 
getSchemeString getScheme() The scheme that uniquely identifies this provider- Returns:
 
 - 
setSchemevoid setScheme(String scheme) The scheme is does not end with the scheme delimiter and should be normalized here.- Parameters:
- scheme-
 
 - 
getMountPointString getMountPoint() This is the mount point for the virtual file system.- Returns:
 
 - 
setMountPointvoid setMountPoint(String mountPoint) The mount point does both start and end with the path separator since we always need it. The mount point should be normalized in the setter.- Parameters:
- mountPoint-
 
 - 
checkSchemeboolean checkScheme(String name) Checks if the name has the scheme for this provider.- Parameters:
- name-
- Returns:
 
 - 
getVFSEntry get(String name, int type) throws Throwable Get the named item. Note that all of the names are qualified.- Parameters:
- name-
- Returns:
- Throws:
- Throwable
 
 - 
putvoid put(String newPath, VFSEntry entry) throws Throwable Add the using the path. If and entry exists there it will be over-written.- Parameters:
- newPath-
- entry-
- Throws:
- Throwable
 
 - 
putvoid put(VFSEntry entry) throws Throwable Put this in the store at its current path- Parameters:
- entry-
- Throws:
- Throwable
 
 - 
isScriptboolean isScript(String path) Checks if the FQ name can be resolved to a script by this provider.- Parameters:
- path-
- Returns:
 
 - 
canReadboolean canRead() 
 - 
setReadvoid setRead(boolean newValue) 
 - 
canWriteboolean canWrite() 
 - 
setWritevoid setWrite(boolean newValue) 
 - 
deletevoid delete(String path) throws Throwable A delete is a type of write. If the store is not writeable, it cannot delete files.- Parameters:
- path-
- Throws:
- Throwable
 
 - 
containsboolean contains(String path) throws Throwable Contains is a type of read. If the store is not readable, it cannot tell if it contains an entry.- Parameters:
- path-
- Returns:
- Throws:
- Throwable
 
 - 
getFileInfoedu.uiuc.ncsa.security.core.configuration.XProperties getFileInfo(String path) throws Throwable - Throws:
- Throwable
 
 - 
getCurrentDirString getCurrentDir() 
 - 
setCurrentDirvoid setCurrentDir(String path) 
 - 
mkdirboolean mkdir(String path) Make a set of directories. This will make a given directory and any intermediate directories.- Parameters:
- path-
- Returns:
 
 - 
rmdirboolean rmdir(String path) throws Throwable This will remove a directory. Note that this requires that the directory be empty of all files.- Parameters:
- path-
- Returns:
- Throws:
- Throwable
 
 - 
rmvoid rm(String path) throws Throwable Remove a file from the store.- Parameters:
- path-
- Throws:
- Throwable
 
 - 
easSupportedboolean easSupported() If this store supports extended attributes.- Returns:
 
 - 
isDirectoryboolean isDirectory(String path) 
 
- 
 
-