Class DefaultFileManager

java.lang.Object
org.apache.struts2.util.fs.DefaultFileManager
All Implemented Interfaces:
FileManager
Direct Known Subclasses:
JBossFileManager

public class DefaultFileManager extends Object implements FileManager
Default implementation of FileManager
  • Field Details

    • files

      protected static final Map<String,Revision> files
    • reloadingConfigs

      protected boolean reloadingConfigs
  • Constructor Details

    • DefaultFileManager

      public DefaultFileManager()
  • Method Details

    • setReloadingConfigs

      public void setReloadingConfigs(boolean reloadingConfigs)
      Description copied from interface: FileManager
      Enables configs reloading when config file changed
      Specified by:
      setReloadingConfigs in interface FileManager
      Parameters:
      reloadingConfigs - StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD
    • fileNeedsReloading

      public boolean fileNeedsReloading(URL fileUrl)
      Description copied from interface: FileManager
      Checks if file represented by provided URL changed and must be reloaded
      Specified by:
      fileNeedsReloading in interface FileManager
      Parameters:
      fileUrl - url to a file
      Returns:
      true if file exists and should be reloaded, if url is null return false
    • fileNeedsReloading

      public boolean fileNeedsReloading(String fileName)
      Description copied from interface: FileManager
      Checks if given file changed and must be reloaded
      Specified by:
      fileNeedsReloading in interface FileManager
      Parameters:
      fileName - to check
      Returns:
      true if file changed
    • loadFile

      public InputStream loadFile(URL fileUrl)
      Description copied from interface: FileManager
      Loads opens the named file and returns the InputStream
      Specified by:
      loadFile in interface FileManager
      Parameters:
      fileUrl - - the URL of the file to open
      Returns:
      an InputStream of the file contents or null
    • monitorFile

      public void monitorFile(URL fileUrl)
      Description copied from interface: FileManager
      Adds file to list of monitored files
      Specified by:
      monitorFile in interface FileManager
      Parameters:
      fileUrl - URL to file to be monitored
    • isJarURL

      protected boolean isJarURL(URL fileUrl)
      Check if given URL is matching Jar pattern for different servers
      Parameters:
      fileUrl - jar file URL
      Returns:
      if given URL is matching Jar pattern for different servers
    • normalizeToFileProtocol

      public URL normalizeToFileProtocol(URL url)
      Description copied from interface: FileManager
      Convert URLs to URLs with "file" protocol
      Specified by:
      normalizeToFileProtocol in interface FileManager
      Parameters:
      url - URL to convert to a jar url
      Returns:
      a URL to a file, or null if the URL external form cannot be parsed
    • support

      public boolean support()
      Description copied from interface: FileManager
      Indicate if given implementation supports current OS File System
      Specified by:
      support in interface FileManager
      Returns:
      true if supports current OS File System
    • internal

      public boolean internal()
      Description copied from interface: FileManager
      User's implementation should return false as then it will be taken in first place
      Specified by:
      internal in interface FileManager
      Returns:
      true if it's a framework provided implementation
    • getAllPhysicalUrls

      public Collection<? extends URL> getAllPhysicalUrls(URL url) throws IOException
      Specified by:
      getAllPhysicalUrls in interface FileManager
      Throws:
      IOException