Interface IProjectManager

  • All Known Implementing Classes:
    ProjectManager

    public interface IProjectManager
    A IProjectManager is responsible for loading and saving Source Objects from the file system and serialize the Source classes to a string representation and vice versa.
    • Method Detail

      • loadProject

        ProjectSource loadProject​(java.nio.file.Path rootDirectory)
        Load the RootProject from the file system.
        Parameters:
        rootDirectory - rootDirectory of the rootProject
        Returns:
        the RootProjectSource
      • saveSource

        <S extends Source> void saveSource​(S source)
        Save a source object to the file system. Take the path from Source.path
        Type Parameters:
        S - type of the source object
        Parameters:
        source - the object to save
      • deleteSource

        <S extends Source> void deleteSource​(S source)
        Delete a source file from the file system. Take the path from Source.path
        Type Parameters:
        S - type of the source object
        Parameters:
        source - the object to delete
      • getSource

        Source getSource​(java.nio.file.Path path)
        Gets file of the path and converts it to a Source .
        Parameters:
        path - of file to convert
        Returns:
        an instance of a Source or null if does not exist