com.mucommander.job
Class TempExecJob

java.lang.Object
  extended by com.mucommander.job.FileJob
      extended by com.mucommander.job.TransferFileJob
          extended by com.mucommander.job.AbstractCopyJob
              extended by com.mucommander.job.CopyJob
                  extended by com.mucommander.job.TempCopyJob
                      extended by com.mucommander.job.TempExecJob
All Implemented Interfaces:
java.lang.Runnable

public class TempExecJob
extends TempCopyJob

This job copies a file or a set of files to a temporary folder, makes the temporary file(s) read-only and executes each of them with native file associations. The temporary files are deleted when the JVM terminates.

It is important to understand that when this job operates on a set of files a process is started for each file to execute, so this operation should require confirmation by the user before being attempted.

Author:
Maxence Bernard

Field Summary
 
Fields inherited from class com.mucommander.job.TempCopyJob
tempFiles
 
Fields inherited from class com.mucommander.job.CopyJob
COPY_MODE, currentDestFile, DOWNLOAD_MODE, UNPACK_MODE
 
Fields inherited from class com.mucommander.job.AbstractCopyJob
append, archiveToOptimize, baseDestFolder, defaultFileExistsAction, errorDialogTitle, isOptimizingArchive, newName
 
Fields inherited from class com.mucommander.job.FileJob
APPEND_ACTION, APPEND_TEXT, baseSourceFolder, CANCEL_ACTION, CANCEL_TEXT, currentFile, currentFileIndex, currentFilename, files, FINISHED, INTERRUPTED, mainFrame, nbFiles, NOT_STARTED, PAUSED, progressDialog, RETRY_ACTION, RETRY_TEXT, RUNNING, SKIP_ACTION, SKIP_TEXT
 
Constructor Summary
TempExecJob(ProgressDialog progressDialog, MainFrame mainFrame, AbstractFile fileToExecute)
          Creates a new TempExecJob that operates on a single file.
TempExecJob(ProgressDialog progressDialog, MainFrame mainFrame, FileSet filesToExecute)
          Creates a new TempExecJob that operates on a set of files.
 
Method Summary
protected  boolean processFile(AbstractFile file, java.lang.Object recurseParams)
          Copies recursively the given file or folder.
 
Methods inherited from class com.mucommander.job.TempCopyJob
getTemporaryFileName, getTemporaryFolder
 
Methods inherited from class com.mucommander.job.CopyJob
getStatusString, hasFolderChanged, jobCompleted
 
Methods inherited from class com.mucommander.job.AbstractCopyJob
checkForCollision, createDestinationFile, optimizeArchive
 
Methods inherited from class com.mucommander.job.TransferFileJob
closeCurrentInputStream, copyFile, getCurrentFileByteCounter, getCurrentFileSize, getCurrentFileSkippedByteCounter, getFilePercentDone, getThroughputLimit, getTotalByteCounter, getTotalPercentDone, getTotalSkippedByteCounter, isCheckingIntegrity, isIntegrityCheckEnabled, jobPaused, jobResumed, jobStopped, nextFile, setCurrentInputStream, setIntegrityCheckEnabled, setThroughputLimit, skipCurrentFile, tryCopyFile, wasCurrentFileSkipped
 
Methods inherited from class com.mucommander.job.FileJob
addFileJobListener, getCurrentFileIndex, getCurrentFilename, getEffectiveJobTime, getEndDate, getNbFiles, getPausedTime, getPauseStartDate, getStartDate, getState, interrupt, jobStarted, refreshTables, removeFileJobListener, run, selectFileWhenFinished, setAutoUnmark, setPaused, setState, showErrorDialog, showErrorDialog, start, waitForUserResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TempExecJob

public TempExecJob(ProgressDialog progressDialog,
                   MainFrame mainFrame,
                   AbstractFile fileToExecute)
Creates a new TempExecJob that operates on a single file.

Parameters:
progressDialog - the ProgressDialog that monitors this job
mainFrame - the MainFrame this job is attached to
fileToExecute - the file to copy to a temporary location and execute

TempExecJob

public TempExecJob(ProgressDialog progressDialog,
                   MainFrame mainFrame,
                   FileSet filesToExecute)
Creates a new TempExecJob that operates on a set of files. Only a single command get executed, operating on all files.

Parameters:
progressDialog - the ProgressDialog that monitors this job
mainFrame - the MainFrame this job is attached to
filesToExecute - the set of files to copy to a temporary location and execute
Method Detail

processFile

protected boolean processFile(AbstractFile file,
                              java.lang.Object recurseParams)
Description copied from class: CopyJob
Copies recursively the given file or folder.

Overrides:
processFile in class TempCopyJob
Parameters:
file - the file or folder to move
recurseParams - destination folder where the given file will be copied (null for top level files)
Returns:
true if the file has been copied.


This file is part of muCommander - Copyright (C) 2002-2008 Maxence Bernard