org.apache.storm.daemon.supervisor

## Interface IAdvancedFSOps

- All Known Implementing Classes:
    AdvancedFSOps

      public interface IAdvancedFSOps

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `copyDirectory(File fromDir, File toDir)` Copy a directory.
    `void` | `createSymlink(File link, File target)` Create a symbolic link pointing at target.
    `void` | `deleteIfExists(File path)` Delete a file or a directory and all of the children.
    `void` | `deleteIfExists(File path, String user, String logPrefix)` Delete a file or a directory and all of the children.
    `boolean` | `doRequiredTopoFilesExist(Map<String,Object> conf, String topologyId)` Sanity check if everything the topology needs is there for it to run.
    `void` | `dump(File location, String data)` Dump a string to a file.
    `boolean` | `fileExists(File path)` Check if a file exists or not.
    `boolean` | `fileExists(Path path)` Check if a file exists or not.
    `void` | `forceMkdir(File path)` Makes a directory, including any necessary but nonexistent parent directories.
    `void` | `forceMkdir(Path path)` Makes a directory, including any necessary but nonexistent parent directories.
    `OutputStream` | `getOutputStream(File file)` Get an output stream to write to a given file.
    `Writer` | `getWriter(File file)` Get a writer for the given location.
    `void` | `moveDirectoryPreferAtomic(File fromDir, File toDir)` Move fromDir to toDir, and try to make it an atomic move if possible.
    `void` | `moveFile(File fromFile, File toFile)` Moves a file to a given destination.
    `DirectoryStream<Path>` | `newDirectoryStream(Path dir)` List the contents of a directory.
    `DirectoryStream<Path>` | `newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter)` List the contents of a directory.
    `void` | `restrictDirectoryPermissions(File dir)` Set directory permissions to (OWNER)RWX (GROUP)R-X (OTHER)— On some systems that do not support this, it may become a noop.
    `void` | `setupBlobPermissions(File path, String user)` Setup permissions properly for an internal blob store path.
    `void` | `setupStormCodeDir(String user, File path)` Setup the permissions for the storm code dir.
    `void` | `setupWorkerArtifactsDir(String user, File path)` Setup the permissions for the worker artifacts dirs.
    `byte[]` | `slurp(File location)` Read the contents of a file into a byte array.
    `String` | `slurpString(File location)` Read the contents of a file into a String.
    `boolean` | `supportsAtomicDirectoryMove()` Check whether supports atomic directory move.

- - ### Method Detail

    - #### restrictDirectoryPermissions

          void restrictDirectoryPermissions(File dir)
                                     throws IOException

      Set directory permissions to (OWNER)RWX (GROUP)R-X (OTHER)— On some systems that do not support this, it may become a noop.

      Parameters:
        `dir` - the directory to change permissions on
      Throws:
        `IOException` - on any error

    - #### moveDirectoryPreferAtomic

          void moveDirectoryPreferAtomic(File fromDir,
                                         File toDir)
                                  throws IOException

      Move fromDir to toDir, and try to make it an atomic move if possible.

      Parameters:
        `fromDir` - what to move
        `toDir` - where to move it from
      Throws:
        `IOException` - on any error

    - #### moveFile

          void moveFile(File fromFile,
                        File toFile)
                 throws IOException

      Moves a file to a given destination.

      Parameters:
        `fromFile` - file to move
        `toFile` - where to move it
      Throws:
        `IOException` - on any error

    - #### supportsAtomicDirectoryMove

          boolean supportsAtomicDirectoryMove()

      Check whether supports atomic directory move.

      Returns:
        true if an atomic directory move works, else false

    - #### copyDirectory

          void copyDirectory(File fromDir,
                             File toDir)
                      throws IOException

      Copy a directory.

      Parameters:
        `fromDir` - from where
        `toDir` - to where
      Throws:
        `IOException` - on any error

    - #### setupBlobPermissions

          void setupBlobPermissions(File path,
                                    String user)
                             throws IOException

      Setup permissions properly for an internal blob store path.

      Parameters:
        `path` - the path to set the permissions on
        `user` - the user to change the permissions for
      Throws:
        `IOException` - on any error

    - #### deleteIfExists

          void deleteIfExists(File path,
                              String user,
                              String logPrefix)
                       throws IOException

      Delete a file or a directory and all of the children. If it exists.

      Parameters:
        `path` - what to delete
        `user` - who to delete it as if doing it as someone else is supported
        `logPrefix` - if an external process needs to be launched to delete the object what prefix to include in the logs
      Throws:
        `IOException` - on any error.

    - #### deleteIfExists

          void deleteIfExists(File path)
                       throws IOException

      Delete a file or a directory and all of the children. If it exists.

      Parameters:
        `path` - what to delete
      Throws:
        `IOException` - on any error.

    - #### setupStormCodeDir

          void setupStormCodeDir(String user,
                                 File path)
                          throws IOException

      Setup the permissions for the storm code dir.

      Parameters:
        `user` - the owner of the topology
        `path` - the directory to set the permissions on
      Throws:
        `IOException` - on any error

    - #### setupWorkerArtifactsDir

          void setupWorkerArtifactsDir(String user,
                                       File path)
                                throws IOException

      Setup the permissions for the worker artifacts dirs.

      Parameters:
        `user` - the owner of the topology
        `path` - the directory to set the permissions on
      Throws:
        `IOException` - on any error

    - #### doRequiredTopoFilesExist

          boolean doRequiredTopoFilesExist(Map<String,Object> conf,
                                           String topologyId)
                                    throws IOException

      Sanity check if everything the topology needs is there for it to run.

      Parameters:
        `conf` - the config of the supervisor
        `topologyId` - the ID of the topology
      Returns:
        true if everything is there, else false
      Throws:
        `IOException` - on any error

    - #### forceMkdir

          void forceMkdir(File path)
                   throws IOException

      Makes a directory, including any necessary but nonexistent parent directories.

      Parameters:
        `path` - the directory to create
      Throws:
        `IOException` - on any error

    - #### forceMkdir

          void forceMkdir(Path path)
                   throws IOException

      Makes a directory, including any necessary but nonexistent parent directories.

      Parameters:
        `path` - the directory to create
      Throws:
        `IOException` - on any error

    - #### newDirectoryStream

          DirectoryStream<Path> newDirectoryStream(Path dir,
                                                   DirectoryStream.Filter<? super Path> filter)
                                            throws IOException

      List the contents of a directory.

      Parameters:
        `dir` - the driectory to list the contents of
        `filter` - a filter to decide if it should be included or not
      Returns:
        A stream of directory entries
      Throws:
        `IOException` - on any error

    - #### newDirectoryStream

          DirectoryStream<Path> newDirectoryStream(Path dir)
                                            throws IOException

      List the contents of a directory.

      Parameters:
        `dir` - the driectory to list the contents of
      Returns:
        A stream of directory entries
      Throws:
        `IOException` - on any error

    - #### fileExists

          boolean fileExists(File path)
                      throws IOException

      Check if a file exists or not.

      Parameters:
        `path` - the path to check
      Returns:
        true if it exists else false
      Throws:
        `IOException` - on any error.

    - #### fileExists

          boolean fileExists(Path path)
                      throws IOException

      Check if a file exists or not.

      Parameters:
        `path` - the path to check
      Returns:
        true if it exists else false
      Throws:
        `IOException` - on any error.

    - #### getWriter

          Writer getWriter(File file)
                    throws IOException

      Get a writer for the given location.

      Parameters:
        `file` - the file to write to
      Returns:
        the Writer to use.
      Throws:
        `IOException` - on any error

    - #### getOutputStream

          OutputStream getOutputStream(File file)
                                throws IOException

      Get an output stream to write to a given file.

      Parameters:
        `file` - the file to write to
      Returns:
        an OutputStream for that file
      Throws:
        `IOException` - on any error

    - #### dump

          void dump(File location,
                    String data)
             throws IOException

      Dump a string to a file.

      Parameters:
        `location` - where to write to
        `data` - the data to write
      Throws:
        `IOException` - on any error

    - #### slurpString

          String slurpString(File location)
                      throws IOException

      Read the contents of a file into a String.

      Parameters:
        `location` - the file to read
      Returns:
        the contents of the file
      Throws:
        `IOException` - on any error

    - #### slurp

          byte[] slurp(File location)
                throws IOException

      Read the contents of a file into a byte array.

      Parameters:
        `location` - the file to read
      Returns:
        the contents of the file
      Throws:
        `IOException` - on any error

    - #### createSymlink

          void createSymlink(File link,
                             File target)
                      throws IOException

      Create a symbolic link pointing at target.

      Parameters:
        `link` - the link to create
        `target` - where it should point to
      Throws:
        `IOException` - on any error.

Copyright © 2021 The Apache Software Foundation. All rights reserved.