Package it.unive.lisa.util.file
Class FileManager
- java.lang.Object
-
- it.unive.lisa.util.file.FileManager
-
public class FileManager extends java.lang.ObjectA file manager that provides standard functionalities for communicating with the file system.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFileManager.WriteActionA functional interface for a write operation that can throwIOExceptions.
-
Constructor Summary
Constructors Constructor Description FileManager(java.lang.String workdir)Builds a new manager that will produce files in the givenworkdir.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<java.lang.String>createdFiles()Yields the collection of file names that have been created by this manager.static voidforceDeleteFolder(java.lang.String path)Deletes a folder with all of its contents if it exists.voidgenerateHtmlViewerSupportFiles(boolean compound)Generates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.voidmkDotFile(java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name, appending thedotextension.voidmkGraphmlFile(java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name, appending thegraphmlextension.voidmkHtmlFile(java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name, appending thehtmlextension.voidmkJsonFile(java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name, appending thejsonextension.voidmkOutputFile(java.lang.String name, boolean bom, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name.voidmkOutputFile(java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name.voidmkOutputFile(java.lang.String path, java.lang.String name, boolean bom, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name.voidmkOutputFile(java.lang.String path, java.lang.String name, FileManager.WriteAction filler)Creates a UTF-8 encoded file with the given name.
-
-
-
Method Detail
-
createdFiles
public java.util.Collection<java.lang.String> createdFiles()
Yields the collection of file names that have been created by this manager.- Returns:
- the names of the created files
-
mkOutputFile
public void mkOutputFile(java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name. If name is a path, all missing directories will be created as well. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkOutputFile
public void mkOutputFile(java.lang.String path, java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name. If name is a path, all missing directories will be created as well. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
path- the sub-path, relative to the workdir, where the file should be createdname- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkDotFile
public void mkDotFile(java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name, appending thedotextension. The name will be stripped of any characters that might cause problems in the file name. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkJsonFile
public void mkJsonFile(java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name, appending thejsonextension. The name will be stripped of any characters that might cause problems in the file name. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkGraphmlFile
public void mkGraphmlFile(java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name, appending thegraphmlextension. The name will be stripped of any characters that might cause problems in the file name. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkHtmlFile
public void mkHtmlFile(java.lang.String name, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name, appending thehtmlextension. The name will be stripped of any characters that might cause problems in the file name. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createfiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating the file
-
mkOutputFile
public void mkOutputFile(java.lang.String name, boolean bom, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name. If name is a path, all missing directories will be created as well. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
name- the name of the file to createbom- iftrue, the bom markerwill be written to the filefiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating or writing to the file
-
mkOutputFile
public void mkOutputFile(java.lang.String path, java.lang.String name, boolean bom, FileManager.WriteAction filler) throws java.io.IOExceptionCreates a UTF-8 encoded file with the given name. If name is a path, all missing directories will be created as well. The given name will be joined with the workdir used to initialize this file manager, thus raising an exception ifnameis absolute.fillerwill then be used to write to the writer.- Parameters:
path- the sub-path, relative to the workdir, where the file should be createdname- the name of the file to createbom- iftrue, the bom markerwill be written to the filefiller- the callback to write to the file- Throws:
java.io.IOException- if something goes wrong while creating or writing to the file
-
forceDeleteFolder
public static void forceDeleteFolder(java.lang.String path) throws java.io.IOExceptionDeletes a folder with all of its contents if it exists.- Parameters:
path- the path to the folder- Throws:
java.io.IOException- if an error happens while deleting
-
generateHtmlViewerSupportFiles
public void generateHtmlViewerSupportFiles(boolean compound) throws java.io.IOExceptionGenerates, inside the working directory, all supporting files (mostly cytoscape.js) needed for correct visualization of graphs dumped in html format.- Parameters:
compound- whether the support files need to include compound-related cytoscape layouts- Throws:
java.io.IOException- if an error happens during the generation
-
-