Class FolderTool

java.lang.Object
com.logicaldoc.core.automation.FolderTool

public class FolderTool extends Object
Utility methods to handle folders from within the Automation
Since:
7.3
Author:
Marco Meschieri - LogicalDOC
  • Constructor Details

    • FolderTool

      public FolderTool()
  • Method Details

    • displayUrl

      public String displayUrl(long tenantId, long folderId)
      Prints the URL to display the folder inside the User Interface
      Parameters:
      tenantId - identifier of the tenant
      folderId - identifier of the folder
      Returns:
      the display URL
    • displayUrl

      public String displayUrl(Folder folder)
      Prints the URL to display the folder inside the User Interface
      Parameters:
      folder - the folder to display
      Returns:
      the display URL
    • displayUrl

      public String displayUrl(FolderHistory history)
      Prints the URL to display the folder inside the User Interface
      Parameters:
      history - event from which to get the folder's to display
      Returns:
      the display URL
    • getPath

      public String getPath(Long folderId) throws PersistenceException
      Calculates the full path of a folder
      Parameters:
      folderId - identifier of the folder
      Returns:
      the path
      Throws:
      PersistenceException - error at database level
    • findByPath

      public Folder findByPath(String path)
      Finds the folder by it's path
      Parameters:
      path - the path to process
      Returns:
      the found folder
    • findByPath

      public Folder findByPath(String path, Long tenantId)
      Finds the folder by it's path
      Parameters:
      path - the path to process
      tenantId - identifier of the tenant
      Returns:
      the found folder
    • findById

      public Folder findById(long id)
      Finds the folder by it's identifier
      Parameters:
      id - the unique identifier
      Returns:
      the found folder
    • store

      public void store(Folder folder)
      Saves / updates a folder into the database
      Parameters:
      folder - the folder to save
    • store

      public void store(Folder folder, String username)
      Saves / updates a folder into the database
      Parameters:
      folder - the folder to save
      username - the user in whose name the method is run
    • initialize

      public void initialize(Folder folder)
      Initializes lazy loaded collections
      Parameters:
      folder - the folder to initialize
    • delete

      public void delete(long folderId, String username) throws PersistenceException
      Delete a folder
      Parameters:
      folderId - identifier of the folder
      username - the user in whose name the method is run
      Throws:
      PersistenceException - Error in the persistence layers
    • move

      public void move(Folder folder, String targetPath, String username) throws PersistenceException
      Moves a folder into a target folder
      Parameters:
      folder - the folder to move
      targetPath - the full path of the target folder(if it does not exist it will be created)
      username - the user in whose name the method is run
      Throws:
      PersistenceException - Error in the persistence layer
    • copy

      public Folder copy(Folder source, String targetPath, boolean foldersOnly, String securityOption, String username) throws PersistenceException
      Copies a folder into another folder
      Parameters:
      source - the folder to copy
      targetPath - the full path of the target folder(if it does not exist it will be created)
      foldersOnly - true if only the folders tree has to be copied; if false, the documents will also be copied
      securityOption - How to assign the security policies to the newly created folders:
      • null or none: empty security policies
      • inherit: the new folder will point to the parent for the security policies
      • replicate: the new folder will have a copy of the security policies of the source folder
      username - the user in whose name the method is run
      Returns:
      The new folder created
      Throws:
      PersistenceException - Error in the persistence layer
    • merge

      public void merge(Folder source, Folder target, String username) throws PersistenceException
      Merges a folder into another folder
      Parameters:
      source - the folder to merge into the target
      target - the final container
      username - the user in whose name the method is run
      Throws:
      PersistenceException - Error in the persistence layer
    • createPath

      public Folder createPath(Folder folder, String targetPath, String username)
      Creates a path, all existing nodes in the specified path will be reused
      Parameters:
      folder - folder used to take the root folder in case the targetPath represents a relative path
      targetPath - absolute or relative(in relation to the document's parent folder) path to be created
      username - the user in whose name the method is run
      Returns:
      the folder leaf of the path
    • applyTemplate

      public void applyTemplate(long rootId, String templateName, boolean inheritSecurity, String username) throws PersistenceException
      Applies a folder template
      Parameters:
      rootId - Id of the root where the template must be applied to
      templateName - Identifier of the folder template
      inheritSecurity - If the created folders must inherit the security from the root
      username - the user in whose name the method is run
      Throws:
      PersistenceException - Error in the data layer