private static JimfsFileStore createFileStore ( Configuration config , PathService pathService , FileSystemState state ) { AttributeService attributeService = new AttributeService ( config ) ; // TODO(cgdecker): Make disk values configurable HeapDisk disk = new HeapDisk ( config ) ; FileFactory fileFactory = new FileFactory ( disk ) ; Map < Name , Directory > roots = new HashMap <> ( ) ; // create roots for ( String root : config . roots ) { JimfsPath path = pathService . parsePath ( root ) ; if ( ! path . isAbsolute ( ) && path . getNameCount ( ) == 0 ) { throw new IllegalArgumentException ( "Invalid root path: " + root ) ; } Name rootName = path . root ( ) ; Directory rootDir = fileFactory . createRootDirectory ( rootName ) ; attributeService . setInitialAttributes ( rootDir ) ; roots . put ( rootName , rootDir ) ; } return new JimfsFileStore ( new FileTree ( roots ) , fileFactory , disk , attributeService , config . supportedFeatures , state ) ; }
Creates the file store for the file system .