Class CommandLauncher

  • All Implemented Interfaces:
    ICommandLauncher

    public class CommandLauncher
    extends java.lang.Object
    implements ICommandLauncher
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Summary

      Constructors 
      Constructor Description
      CommandLauncher()
      Creates a new launcher Fills in stderr and stdout output to the given streams.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected java.lang.String[] constructCommandArray​(java.lang.String command, java.lang.String[] commandArgs)
      Constructs a command array that will be passed to the process
      java.lang.Process execute​(org.eclipse.core.runtime.IPath commandPath, java.lang.String[] args, java.lang.String[] env, org.eclipse.core.runtime.IPath changeToDirectory)
      Deprecated. 
      java.lang.Process execute​(org.eclipse.core.runtime.IPath commandPath, java.lang.String[] args, java.lang.String[] env, org.eclipse.core.runtime.IPath workingDirectory, org.eclipse.core.runtime.IProgressMonitor monitor)
      Execute a command
      java.lang.String[] getCommandArgs()
      Returns an array of the command line arguments that were last used to execute a command.
      java.lang.String getCommandLine()
      Returns the constructed command line of the last command executed.
      protected java.lang.String getCommandLine​(java.lang.String[] commandArgs)  
      java.util.Properties getEnvironment()
      Returns the set of environment variables in the context of which this launcher will execute commands.
      java.lang.String getErrorMessage()
      Returns a human readable error message corresponding to the last error encountered during command execution.
      org.eclipse.core.resources.IProject getProject()
      Gets the project this launcher is associated with.
      protected void printCommandLine​(java.io.OutputStream os)  
      void setErrorMessage​(java.lang.String error)
      Sets the human readable error message corresponding to the last error encountered during command execution.
      void setProject​(org.eclipse.core.resources.IProject project)
      Sets the project that this launcher is associated with, or null if there is no such project.
      void showCommand​(boolean show)
      Sets if the command should be printed out first before executing.
      int waitAndRead​(java.io.OutputStream out, java.io.OutputStream err)
      Deprecated.
      int waitAndRead​(java.io.OutputStream output, java.io.OutputStream err, org.eclipse.core.runtime.IProgressMonitor monitor)
      Reads output form the process to the streams.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • fProcess

        protected java.lang.Process fProcess
      • fShowCommand

        protected boolean fShowCommand
      • fCommandArgs

        protected java.lang.String[] fCommandArgs
      • fErrorMessage

        protected java.lang.String fErrorMessage
      • DELAY

        protected static final long DELAY
        The number of milliseconds to pause between polling.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CommandLauncher

        public CommandLauncher()
        Creates a new launcher Fills in stderr and stdout output to the given streams. Streams can be set to null, if output not required
    • Method Detail

      • showCommand

        public void showCommand​(boolean show)
        Description copied from interface: ICommandLauncher
        Sets if the command should be printed out first before executing.
        Specified by:
        showCommand in interface ICommandLauncher
      • getErrorMessage

        public java.lang.String getErrorMessage()
        Description copied from interface: ICommandLauncher
        Returns a human readable error message corresponding to the last error encountered during command execution.
        Specified by:
        getErrorMessage in interface ICommandLauncher
        Returns:
        A String corresponding to the error, or null if there has been no error. The message could be multi-line, however it is NOT guaranteed that it ends with end of line.
      • setErrorMessage

        public void setErrorMessage​(java.lang.String error)
        Description copied from interface: ICommandLauncher
        Sets the human readable error message corresponding to the last error encountered during command execution. A subsequent call to getErrorMessage() will return this string.
        Specified by:
        setErrorMessage in interface ICommandLauncher
        Parameters:
        error - A String corresponding to the error message, or null if the error state is intended to be cleared.
      • getCommandArgs

        public java.lang.String[] getCommandArgs()
        Description copied from interface: ICommandLauncher
        Returns an array of the command line arguments that were last used to execute a command.
        Specified by:
        getCommandArgs in interface ICommandLauncher
        Returns:
        an array of type String[] corresponding to the arguments. The array can be empty, but should not be null.
      • getEnvironment

        public java.util.Properties getEnvironment()
        Description copied from interface: ICommandLauncher
        Returns the set of environment variables in the context of which this launcher will execute commands.
        Specified by:
        getEnvironment in interface ICommandLauncher
        Returns:
        Properties
      • getCommandLine

        public java.lang.String getCommandLine()
        Description copied from interface: ICommandLauncher
        Returns the constructed command line of the last command executed.
        Specified by:
        getCommandLine in interface ICommandLauncher
        Returns:
        String
      • constructCommandArray

        protected java.lang.String[] constructCommandArray​(java.lang.String command,
                                                           java.lang.String[] commandArgs)
        Constructs a command array that will be passed to the process
      • execute

        @Deprecated
        public java.lang.Process execute​(org.eclipse.core.runtime.IPath commandPath,
                                         java.lang.String[] args,
                                         java.lang.String[] env,
                                         org.eclipse.core.runtime.IPath changeToDirectory)
        Deprecated.
        Since:
        5.1
      • execute

        public java.lang.Process execute​(org.eclipse.core.runtime.IPath commandPath,
                                         java.lang.String[] args,
                                         java.lang.String[] env,
                                         org.eclipse.core.runtime.IPath workingDirectory,
                                         org.eclipse.core.runtime.IProgressMonitor monitor)
                                  throws org.eclipse.core.runtime.CoreException
        Description copied from interface: ICommandLauncher
        Execute a command
        Specified by:
        execute in interface ICommandLauncher
        env - The list of environment variables in variable=value format.
        Throws:
        org.eclipse.core.runtime.CoreException - if there is an error executing the command.
        Since:
        5.1
        See Also:
        ICommandLauncher.execute(IPath, String[], String[], IPath, IProgressMonitor)
      • waitAndRead

        @Deprecated
        public int waitAndRead​(java.io.OutputStream out,
                               java.io.OutputStream err)
        Deprecated.
        Specified by:
        waitAndRead in interface ICommandLauncher
      • waitAndRead

        public int waitAndRead​(java.io.OutputStream output,
                               java.io.OutputStream err,
                               org.eclipse.core.runtime.IProgressMonitor monitor)
        Description copied from interface: ICommandLauncher
        Reads output form the process to the streams. A progress monitor is polled to test if the cancel button has been pressed. Destroys the process if the monitor becomes canceled override to implement a different way to read the process inputs
        Specified by:
        waitAndRead in interface ICommandLauncher
      • printCommandLine

        protected void printCommandLine​(java.io.OutputStream os)
      • getCommandLine

        protected java.lang.String getCommandLine​(java.lang.String[] commandArgs)