Class Shell

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    BourneShell, CmdShell, CommandShell

    public class Shell
    extends java.lang.Object
    implements java.lang.Cloneable
    Class that abstracts the Shell functionality, with subclasses for shells that behave particularly, like
    • command.com
    • cmd.exe
    Author:
    Carlos Sanchez
    • Constructor Detail

      • Shell

        public Shell()
    • Method Detail

      • quoteOneItem

        protected java.lang.String quoteOneItem​(java.lang.String inputString,
                                                boolean isExecutable)
      • isDoubleQuotedArgumentEscaped

        protected boolean isDoubleQuotedArgumentEscaped()
        Returns:
        false in all cases
      • isSingleQuotedArgumentEscaped

        protected boolean isSingleQuotedArgumentEscaped()
        Returns:
        singleQuotedArgumentEscaped
      • getShellCommandLine

        public java.util.List<java.lang.String> getShellCommandLine​(java.lang.String... arguments)
        Get the full command line to execute, including shell command, shell arguments, executable and executable arguments
        Parameters:
        arguments - arguments for the executable, not the shell
        Returns:
        List of String objects, whose array version is suitable to be used as argument of Runtime.getRuntime().exec()
      • setQuotedArgumentsEnabled

        public void setQuotedArgumentsEnabled​(boolean quotedArgumentsEnabled)
        Parameters:
        quotedArgumentsEnabled - quotedArgumentsEnabled
      • setExecutable

        public void setExecutable​(java.lang.String executable)
        Sets the executable to run.
        Parameters:
        executable - The executable.
      • getExecutable

        public java.lang.String getExecutable()
        Returns:
        The executable.
      • setWorkingDirectory

        public void setWorkingDirectory​(java.lang.String path)
        Sets execution directory.
        Parameters:
        path - The path which should be used as working directory.
      • setWorkingDirectory

        public void setWorkingDirectory​(java.io.File workingDirectory)
        Sets execution directory.
        Parameters:
        workingDirectory - the working directory
      • getWorkingDirectory

        public java.io.File getWorkingDirectory()
        Returns:
        the working directory
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • isUnconditionalQuoting

        public boolean isUnconditionalQuoting()
      • setUnconditionalQuoting

        public void setUnconditionalQuoting​(boolean unconditionalQuoting)