Package org.jboss.vfs

Class VirtualFileAssembly

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class VirtualFileAssembly
    extends java.lang.Object
    implements java.io.Closeable
    Assembly of VirtualFiles that can be mounted into the VFS in a structure that is not required to match a real filesystem structure.
    • Field Detail

      • RANDOM_NUM_GEN

        private static final java.util.Random RANDOM_NUM_GEN
      • mountHandles

        private final java.util.List<java.io.Closeable> mountHandles
    • Constructor Detail

      • VirtualFileAssembly

        public VirtualFileAssembly()
    • Method Detail

      • add

        public void add​(VirtualFile virtualFile)
        Add a VirtualFile to the assembly.
        Parameters:
        virtualFile -
      • add

        public void add​(java.lang.String path,
                        VirtualFile virtualFile)
        Add a VirtualFile to 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:
      • close

        public void close()
        Close the assembly and nested resources.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • getTempFileProvider

        private TempFileProvider getTempFileProvider()
                                              throws java.io.IOException
        Returns:
        Throws:
        java.io.IOException
      • getAssemblyId

        private java.lang.String getAssemblyId()