Class ExecArgList
- java.lang.Object
-
- com.dtolabs.rundeck.core.execution.ExecArgList
-
public class ExecArgList extends java.lang.Object
A list of commandline arguments, with flags to indicate quoting.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExecArgList.Builder
Builder class
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String[]
asFlatStringArray()
java.util.ArrayList<java.lang.String>
asFlatStringList()
java.util.ArrayList<java.lang.String>
buildCommandForNode(MultiDataContext<ContextView,DataContext> sharedContext, java.lang.String nodeName, java.lang.String osFamily)
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.static ExecArgList.Builder
builder()
static ExecArgList
fromStrings(boolean featureQuotingBackwardCompatible, boolean quoted, java.lang.String... args)
static ExecArgList
fromStrings(boolean featureQuotingBackwardCompatible, java.util.function.Predicate quoteDetect, java.lang.String... args)
static ExecArgList
fromStrings(boolean featureQuotingBackwardCompatible, java.util.List<java.lang.String> strings, boolean quoted)
static ExecArgList
fromStrings(java.util.function.Predicate quoteDetect, java.lang.String... args)
java.util.List<ExecArg>
getList()
static java.lang.String
joinAndQuote(java.util.List<java.lang.String> commandList1, Converter<java.lang.String,java.lang.String> quote)
java.lang.String
toString()
void
visitWith(ExecArg.Visitor visitor)
Visit with a visitor
-
-
-
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.1quoteDetect
- predicateargs
- 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
- predicateargs
- 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.1strings
- the stringsquoted
- 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 commandsquote
- 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 contextosFamily
- 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)
-
builder
public static ExecArgList.Builder builder()
- Returns:
- a Builder
-
visitWith
public void visitWith(ExecArg.Visitor visitor)
Visit with a visitor- Parameters:
visitor
- visitor
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-