Package org.jboss.vfs.spi
Class AssemblyFileSystem
- java.lang.Object
-
- org.jboss.vfs.spi.AssemblyFileSystem
-
- All Implemented Interfaces:
Closeable,AutoCloseable,FileSystem
public class AssemblyFileSystem extends Object implements FileSystem
FileSystem used to mount an Assembly into the VFS.- Author:
- John Bailey
-
-
Constructor Summary
Constructors Constructor Description AssemblyFileSystem(VirtualFileAssembly assembly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Destroy this filesystem instance.booleandelete(VirtualFile mountPoint, VirtualFile target)Attempt to delete a virtual file within this filesystem.booleanexists(VirtualFile mountPoint, VirtualFile target)Ascertain the existance of a virtual file within this filesystem.CodeSigner[]getCodeSigners(VirtualFile mountPoint, VirtualFile target)Get theCodeSigners for a the virtual file.List<String>getDirectoryEntries(VirtualFile mountPoint, VirtualFile target)Read a directory.FilegetFile(VirtualFile mountPoint, VirtualFile target)Get a realFilefor the given path within this filesystem.longgetLastModified(VirtualFile mountPoint, VirtualFile target)Get the last modification time of a virtual file within this filesystem.FilegetMountSource()Get theFilesource provided at mount time.URIgetRootURI()Get the root URI for this file system, ornullif there is no valid root URI.longgetSize(VirtualFile mountPoint, VirtualFile target)Get the size of a virtual file within this filesystem.booleanisDirectory(VirtualFile mountPoint, VirtualFile target)Ascertain whether a virtual file within this filesystem is a directory.booleanisFile(VirtualFile mountPoint, VirtualFile target)Ascertain whether a virtual file within this filesystem is a plain file.booleanisReadOnly()Determine whether this filesystem is read-only.InputStreamopenInputStream(VirtualFile mountPoint, VirtualFile target)Open an input stream for the file at the given relative path.
-
-
-
Constructor Detail
-
AssemblyFileSystem
public AssemblyFileSystem(VirtualFileAssembly assembly)
-
-
Method Detail
-
getFile
public File getFile(VirtualFile mountPoint, VirtualFile target) throws IOException
Get a realFilefor the given path within this filesystem. Some filesystem types will need to make a copy in order to return this file; such copies should be cached and retained until the filesystem is closed. Depending on the file type, the real path of the returnedFilemay or may not bear a relationship to the virtual path provided; if such a relationship is required, it must be negotiated at the time the filesystem is mounted.- Specified by:
getFilein interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
- the file instance
- Throws:
IOException- if an I/O error occurs
-
delete
public boolean delete(VirtualFile mountPoint, VirtualFile target)
Attempt to delete a virtual file within this filesystem.- Specified by:
deletein interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
trueif the file was deleted,falseif it failed for any reason
-
exists
public boolean exists(VirtualFile mountPoint, VirtualFile target)
Ascertain the existance of a virtual file within this filesystem.- Specified by:
existsin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
trueif the file exists,falseotherwise
-
isFile
public boolean isFile(VirtualFile mountPoint, VirtualFile target)
Ascertain whether a virtual file within this filesystem is a plain file.- Specified by:
isFilein interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
trueif the file exists and is a plain file,falseotherwise
-
getDirectoryEntries
public List<String> getDirectoryEntries(VirtualFile mountPoint, VirtualFile target)
Read a directory. Returns all the simple path names (excluding "." and ".."). The returned list will be empty if the node is not a directory.- Specified by:
getDirectoryEntriesin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
- the collection of children names
-
getLastModified
public long getLastModified(VirtualFile mountPoint, VirtualFile target)
Get the last modification time of a virtual file within this filesystem.- Specified by:
getLastModifiedin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
- the modification time in milliseconds, or 0L if the file does not exist or if an error occurs
-
getSize
public long getSize(VirtualFile mountPoint, VirtualFile target)
Get the size of a virtual file within this filesystem.- Specified by:
getSizein interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
- the size, in bytes, or 0L if the file does not exist or is a directory
-
isDirectory
public boolean isDirectory(VirtualFile mountPoint, VirtualFile target)
Ascertain whether a virtual file within this filesystem is a directory.- Specified by:
isDirectoryin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
trueif the file exists and is a directory,falseotherwise
-
isReadOnly
public boolean isReadOnly()
Determine whether this filesystem is read-only. A read-only filesystem prohibits file modification or deletion. It is not an error to mount a read-write filesystem within a read-only filesystem however (this operation does not take place within theFileSystemimplementation).- Specified by:
isReadOnlyin interfaceFileSystem- Returns:
trueif the filesystem is read-only
-
openInputStream
public InputStream openInputStream(VirtualFile mountPoint, VirtualFile target) throws IOException
Open an input stream for the file at the given relative path.- Specified by:
openInputStreamin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
- the input stream
- Throws:
IOException- if an I/O error occurs
-
close
public void close() throws IOExceptionDestroy this filesystem instance. After this method is called, the filesystem may not be used in any way. This method should be called only after all mounts of this filesystem have been cleared; otherwise, VFS accesses may result inIOExceptions.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceFileSystem- Throws:
IOException- if an I/O error occurs during close
-
getCodeSigners
public CodeSigner[] getCodeSigners(VirtualFile mountPoint, VirtualFile target)
Get theCodeSigners for a the virtual file.- Specified by:
getCodeSignersin interfaceFileSystem- Parameters:
mountPoint- the mount point of the filesystem instance (guaranteed to be a parent oftarget)target- the virtual file to act upon- Returns:
CodeSignerfor the virtual file or null if not signed.
-
getMountSource
public File getMountSource()
Get theFilesource provided at mount time.- Specified by:
getMountSourcein interfaceFileSystem- Returns:
- the source used for mounting
-
getRootURI
public URI getRootURI() throws URISyntaxException
Get the root URI for this file system, ornullif there is no valid root URI.- Specified by:
getRootURIin interfaceFileSystem- Returns:
- the root URI
- Throws:
URISyntaxException- if the URI isn't valid
-
-