Class DeleteAction

  • All Implemented Interfaces:
    java.lang.Runnable, Action

    @Plugin(name="Delete",
            category="Core",
            printObject=true)
    public class DeleteAction
    extends AbstractPathAction
    Rollover or scheduled action for deleting old log files that are accepted by the specified PathFilters.
    • Method Detail

      • execute

        public boolean execute()
                        throws java.io.IOException
        Description copied from class: AbstractAction
        Performs action.
        Specified by:
        execute in interface Action
        Overrides:
        execute in class AbstractPathAction
        Returns:
        true if successful.
        Throws:
        java.io.IOException - if IO error.
      • delete

        protected void delete​(java.nio.file.Path path)
                       throws java.io.IOException
        Deletes the specified file.
        Parameters:
        path - the file to delete
        Throws:
        java.io.IOException - if a problem occurred deleting the file
      • execute

        public boolean execute​(java.nio.file.FileVisitor<java.nio.file.Path> visitor)
                        throws java.io.IOException
        Overrides:
        execute in class AbstractPathAction
        Throws:
        java.io.IOException
      • isTestMode

        public boolean isTestMode()
        Returns true if files are not deleted even when all conditions accept a path, false otherwise.
        Returns:
        true if files are not deleted even when all conditions accept a path, false otherwise
      • createFileVisitor

        protected java.nio.file.FileVisitor<java.nio.file.Path> createFileVisitor​(java.nio.file.Path visitorBaseDir,
                                                                                  java.util.List<PathCondition> conditions)
        Description copied from class: AbstractPathAction
        Creates a new FileVisitor<Path> to pass to the Files.walkFileTree(Path, Set, int, FileVisitor) method when the AbstractPathAction.execute() method is invoked.

        The visitor is responsible for processing the files it encounters that are accepted by all filters.

        Specified by:
        createFileVisitor in class AbstractPathAction
        Parameters:
        visitorBaseDir - base dir from where to start scanning for files to process
        conditions - filters that determine if a file should be processed
        Returns:
        a new FileVisitor<Path>
      • createDeleteAction

        @PluginFactory
        public static DeleteAction createDeleteAction​(@PluginAttribute("basePath")
                                                      java.lang.String basePath,
                                                      @PluginAttribute("followLinks")
                                                      boolean followLinks,
                                                      @PluginAttribute(value="maxDepth",defaultInt=1)
                                                      int maxDepth,
                                                      @PluginAttribute("testMode")
                                                      boolean testMode,
                                                      @PluginElement("PathSorter")
                                                      PathSorter sorterParameter,
                                                      @PluginElement("PathConditions")
                                                      PathCondition[] pathConditions,
                                                      @PluginElement("ScriptCondition")
                                                      ScriptCondition scriptCondition,
                                                      @PluginConfiguration
                                                      Configuration config)
        Create a DeleteAction.
        Parameters:
        basePath - base path from where to start scanning for files to delete.
        followLinks - whether to follow symbolic links. Default is false.
        maxDepth - The maxDepth parameter is the maximum number of levels of directories to visit. A value of 0 means that only the starting file is visited, unless denied by the security manager. A value of MAX_VALUE may be used to indicate that all levels should be visited.
        testMode - if true, files are not deleted but instead a message is printed to the status logger at INFO level. Users can use this to do a dry run to test if their configuration works as expected. Default is false.
        PathSorter - a plugin implementing the PathSorter interface
        PathConditions - an array of path conditions (if more than one, they all need to accept a path before it is deleted).
        config - The Configuration.
        Returns:
        A DeleteAction.