Package org.jboss.vfs
Class VirtualFileAssembly
- java.lang.Object
-
- org.jboss.vfs.VirtualFileAssembly
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class VirtualFileAssembly extends java.lang.Object implements java.io.CloseableAssembly of VirtualFiles that can be mounted into the VFS in a structure that is not required to match a real filesystem structure.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classVirtualFileAssembly.AssemblyNodeNode located within the assembly.private static classVirtualFileAssembly.PathPath representation to hold onto the elements of the path.
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.io.Closeable>mountHandlesprivate VirtualFilemountRootprivate static java.util.RandomRANDOM_NUM_GENprivate VirtualFileAssembly.AssemblyNoderootNodeprivate TempFileProvidertempFileProvider
-
Constructor Summary
Constructors Constructor Description VirtualFileAssembly()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.String path, java.io.File root)voidadd(java.lang.String path, VirtualFile virtualFile)Add aVirtualFileto the assembly in a given path.voidadd(VirtualFile virtualFile)Add aVirtualFileto the assembly.voidaddZip(java.lang.String path, java.io.File zipFile)voidclose()Close the assembly and nested resources.booleancontains(VirtualFile mountPoint, VirtualFile target)private java.lang.StringgetAssemblyId()java.util.List<java.lang.String>getChildNames(VirtualFile mountPoint, VirtualFile target)Returns a list of all the names of the children in the assembly.VirtualFilegetFile(VirtualFile mountPoint, VirtualFile target)Get the VirtualFile from the assembly.private TempFileProvidergetTempFileProvider()
-
-
-
Field Detail
-
RANDOM_NUM_GEN
private static final java.util.Random RANDOM_NUM_GEN
-
rootNode
private final VirtualFileAssembly.AssemblyNode rootNode
-
mountHandles
private final java.util.List<java.io.Closeable> mountHandles
-
mountRoot
private final VirtualFile mountRoot
-
tempFileProvider
private TempFileProvider tempFileProvider
-
-
Method Detail
-
add
public void add(VirtualFile virtualFile)
Add aVirtualFileto the assembly.- Parameters:
virtualFile-
-
add
public void add(java.lang.String path, VirtualFile virtualFile)Add aVirtualFileto the assembly in a given path.- Parameters:
path-virtualFile-
-
add
public void add(java.lang.String path, java.io.File root) throws java.io.IOException- Throws:
java.io.IOException
-
addZip
public void addZip(java.lang.String path, java.io.File zipFile) throws java.io.IOException- Throws:
java.io.IOException
-
getFile
public VirtualFile getFile(VirtualFile mountPoint, VirtualFile target)
Get the VirtualFile from the assembly. This will traverse VirtualFiles in assembly to find children if needed.- Parameters:
mountPoint-target-- Returns:
- Throws:
java.io.IOException
-
getChildNames
public java.util.List<java.lang.String> getChildNames(VirtualFile mountPoint, VirtualFile target)
Returns a list of all the names of the children in the assembly.- Returns:
-
contains
public boolean contains(VirtualFile mountPoint, VirtualFile target)
-
close
public void close()
Close the assembly and nested resources.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
getTempFileProvider
private TempFileProvider getTempFileProvider() throws java.io.IOException
- Returns:
- Throws:
java.io.IOException
-
getAssemblyId
private java.lang.String getAssemblyId()
-
-