Class ExecArgList


  • public class ExecArgList
    extends java.lang.Object
    A list of commandline arguments, with flags to indicate quoting.
    • Method Detail

      • fromStrings

        public static ExecArgList fromStrings​(boolean featureQuotingBackwardCompatible,
                                              boolean quoted,
                                              java.lang.String... args)
      • fromStrings

        public static ExecArgList fromStrings​(boolean featureQuotingBackwardCompatible,
                                              java.util.function.Predicate quoteDetect,
                                              java.lang.String... args)
        Parameters:
        featureQuotingBackwardCompatible - indicates whether to use old quoting behavior < 3.4.1
        quoteDetect - predicate
        args - args
        Returns:
        an ExecArgList from a list of strings, and a predicate to determine whether the argument needs to be quoted
      • fromStrings

        public static ExecArgList fromStrings​(java.util.function.Predicate quoteDetect,
                                              java.lang.String... args)
        Parameters:
        quoteDetect - predicate
        args - args
        Returns:
        an ExecArgList from a list of strings, and a predicate to determine whether the argument needs to be quoted
      • fromStrings

        public static ExecArgList fromStrings​(boolean featureQuotingBackwardCompatible,
                                              java.util.List<java.lang.String> strings,
                                              boolean quoted)
        Parameters:
        featureQuotingBackwardCompatible - indicates whether to use old quoting behavior < 3.4.1
        strings - the strings
        quoted - whether they are each quoted
        Returns:
        Create an ExecArgList from a list of strings
      • getList

        public java.util.List<ExecArg> getList()
        Returns:
        the list of ExecArg objects
      • asFlatStringArray

        public java.lang.String[] asFlatStringArray()
        Returns:
        Flatten the list of arguments into an array
      • asFlatStringList

        public java.util.ArrayList<java.lang.String> asFlatStringList()
        Returns:
        Flatten the list of arguments into a list
      • joinAndQuote

        public static java.lang.String joinAndQuote​(java.util.List<java.lang.String> commandList1,
                                                    Converter<java.lang.String,​java.lang.String> quote)
        Parameters:
        commandList1 - list of commands
        quote - quote converter
        Returns:
        Join a list of strings and then quote the entire string, if specified
      • buildCommandForNode

        @Deprecated
        public java.util.ArrayList<java.lang.String> buildCommandForNode​(java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> dataContext,
                                                                         java.lang.String osFamily)
        Deprecated.
        Generate the quoted and expanded argument list, by expanding property values given the data context, and quoting for the given OS
        Parameters:
        dataContext - property value data context
        osFamily - OS family to determine quoting
        Returns:
        list of strings
      • buildCommandForNode

        public java.util.ArrayList<java.lang.String> buildCommandForNode​(MultiDataContext<ContextView,​DataContext> sharedContext,
                                                                         java.lang.String nodeName,
                                                                         java.lang.String osFamily)
      • visitWith

        public void visitWith​(ExecArg.Visitor visitor)
        Visit with a visitor
        Parameters:
        visitor - visitor
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object