package hudson.plugins.lockedfilesreport;
import hudson.plugins.lockedfilesreport.model.FileUsageDetails;
import hudson.util.ArgumentListBuilder;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.List;
public abstract class FindFilesInUseCommand {
/**
* Return an argument builder containing the necessaary arguments for the command
* @param workspacePath path to workspace with OS dependent file chars
* @return an argument builder
*/
public abstract ArgumentListBuilder getArguments(String workspacePath);
/**
* Parses the output from the command.
* @param result result code from command
* @param commandOutput stream containing the command output
* @param workspacePath path to workspace with OS dependent file chars
* @return list of locked files; empty if none found.
* @throws IOException thrown if there was any problems with the stream
*/
public abstract List<FileUsageDetails> parseOutput(int result, BufferedReader commandOutput, String workspacePath) throws IOException;
}