You're viewing an older version of Vaadin JavaDoc. Please see version 24.7.0 for the latest.
com.vaadin.copilot.

Class ProjectManager

java.lang.Object
com.vaadin.copilot.ProjectManager
public class ProjectManager extends Object

Handles reading and writing files in the project

  • Constructor Details

    • ProjectManager

      public ProjectManager(ApplicationConfiguration applicationConfiguration) throws IOException

      Creates a new project manager

      Parameters:

      applicationConfiguration - the application configuration

      Throws:

      IOException - if the project folder cannot be resolved

  • Method Details

    • readFile

      public String readFile(String filename) throws IOException

      Throws:

      IOException

    • readFile

      public String readFile(File file) throws IOException

      Throws:

      IOException

    • readLines

      public List<String> readLines(File file) throws IOException

      Throws:

      IOException

    • writeFile

      public void writeFile(String filename, String undoLabel, String content) throws IOException

      Writes the given content to the given file inside the project.

      If the filename is absolute, it is used as is. Otherwise, it is resolved relative to the project root.

      If the file is outside the project, an exception is thrown

      Parameters:

      filename - the filename to write to, absolute or relative to the project root

      undoLabel - the undo label for the change

      content - the content to write

      Throws:

      IOException - if the file cannot be written

    • writeFile

      public void writeFile(File file, String undoLabel, String content) throws IOException

      Writes the given content to the given file inside the project.

      If the filename is absolute, it is used as is. Otherwise, it is resolved relative to the project root.

      If the file is outside the project, an exception is thrown

      Parameters:

      file - the filename to write to, absolute or relative to the project root

      undoLabel - the undo label for the change

      content - the content to write

      Throws:

      IOException - if the file cannot be written

    • writeFileBase64

      public File writeFileBase64(String filename, String undoLabel, String base64Content, boolean renameIfExists) throws IOException

      Throws:

      IOException

    • makeAbsolute

      public String makeAbsolute(String projectRelativeFilename) throws IOException

      Throws:

      IOException

    • makeRelative

      public String makeRelative(String filename) throws IOException

      Throws:

      IOException

    • getProjectRelativeName

      public String getProjectRelativeName(File projectFile)

      Returns the name of the file, relative to the project root.

      Parameters:

      projectFile - the file

      Returns:

      the relative name of the file

    • getRelativeName

      public static String getRelativeName(File projectFile, File folder)

      Returns the name of the file, relative to the given folder.

      Parameters:

      projectFile - the file

      folder - the folder to make relative to

      Returns:

      the relative name of the file

    • getFileForClass

      public File getFileForClass(Class<?> cls)

      Returns the Java file for the given class.

      Parameters:

      cls - the class

      Returns:

      the file for the class

    • getFileForClass

      public File getFileForClass(String cls)

      Returns the Java file for the given class.

      Parameters:

      cls - the class

      Returns:

      the file for the class

    • getSourceFile

      public File getSourceFile(ComponentTracker.Location location)

      Returns the Java file for the given component location.

      Parameters:

      location - the component location

      Returns:

      the file for the class where the component is used

    • getJavaSourceFolder

      public File getJavaSourceFolder()

      Returns the Java source folder.

      Returns:

      the Java source folder

    • getProjectRoot

      public File getProjectRoot()

      Returns the project root folder.

      Returns:

      the project root folder

    • getFrontendFolder

      public File getFrontendFolder()

      Returns the frontend folder.

      Returns:

      the frontend folder

    • getJavaResourceFolder

      public File getJavaResourceFolder()

      Returns the java resource folder.

      Returns:

      the java resource folder.

    • getThemeName

      public Optional<String> getThemeName()

      Gets current theme name

      Returns:

      optional theme name

    • getThemeFolder

      public Optional<File> getThemeFolder()

      Gets current theme folder

      Returns:

      optional theme folder

    • sanitizeFilename

      public String sanitizeFilename(String name)

      Makes a string safe to use as a file name

      Parameters:

      name - the string to process

      Returns:

      the sanitized string

    • getHillaViewsFolder

      public File getHillaViewsFolder()

      The folder where Hilla views should be created for the file system router to pick them up.

      Returns:

      the folder where Hilla views should be created

    • getFlowViewsPackage

      public String getFlowViewsPackage()

      Tries to find a common package prefix for all Flow views in the project.

      If all views are in the same package, that package is returned. If views are in different packages, the common prefix is returned. If no common prefix is found, the main package is returned.

      Returns:

      a suitable package to place a new Flow view in