Interface ProjectManager

All Superinterfaces:
ResourceCollectionManager

public interface ProjectManager extends ResourceCollectionManager
  • Method Details

    • getProjectScriptManager

      @Nullable ScriptManager getProjectScriptManager(String projectName)
      Returns the script manager for the given project. This script manager will be unique for this project, and have the project's global script module loaded under app.*, as well as correctly delegate references to the default datasource and default tag provider.
      Returns:
      A ScriptManager, or null if the project doesn't exist
    • getProjectTagManager

      @Nullable TagManager getProjectTagManager(String projectName)
      Get the TagManager for projectName.
      Parameters:
      projectName - the name of the Project.
      Returns:
      the TagManager for projectName.
    • getProjectTagHistoryManager

      @Nullable TagHistoryManager getProjectTagHistoryManager(String projectName)
      Get the TagHistoryManager for projectName.
      Parameters:
      projectName - the name of the Project.
      Returns:
      the TagHistoryManager for projectName.
    • getProjectProps

      GlobalProps getProjectProps(String projectName) throws ResourceCollectionNotFoundException
      High-speed cached call to get the project's current GlobalProps object
      Returns:
      The current GlobalProps for the project
      Throws:
      ResourceCollectionNotFoundException - if the project doesn't exist
    • addImmutableProject

      void addImmutableProject(ProjectImport project)
      Injects a project that cannot be modified by the user or designer. This is a mechanism to allow modules to add projects to the gateway. The projects exist only in memory, and are not persisted to disk. They cannot be opened in the designer or exported by the user. These projects are given first priority in the project namespace, meaning that if a user-space project has the same name as an immutable project, the user-space project will not load.
    • updateImmutableProject

      void updateImmutableProject(ProjectImport project) throws ResourceCollectionNotFoundException
      Updates a project that was previously added with addImmutableProject. This is a mechanism to allow modules to update immutable projects at runtime. This is the only mechanism for these projects to be updated.
      Throws:
      ResourceCollectionNotFoundException - if the project wasn't previously added via addImmutableProject
    • removeImmutableProject

      void removeImmutableProject(String projectName) throws ResourceCollectionNotFoundException
      Removes a project that was previously added with addImmutableProject. This is a mechanism to allow modules to remove immutable projects at runtime. This is the only mechanism for these projects to be removed.
      Throws:
      ResourceCollectionNotFoundException - if the project wasn't previously added via addImmutableProject