Package org.jclouds.scriptbuilder.domain
Class SwitchArg
- java.lang.Object
-
- org.jclouds.scriptbuilder.domain.SwitchArg
-
- All Implemented Interfaces:
AcceptsStatementVisitor
,Statement
public class SwitchArg extends Object implements Statement, AcceptsStatementVisitor
Statement used in a shell script
-
-
Field Summary
Fields Modifier and Type Field Description static Map<OsFamily,String>
OS_TO_CASE_PATTERN
static Map<OsFamily,String>
OS_TO_END_SWITCH_PATTERN
static Map<OsFamily,String>
OS_TO_SWITCH_PATTERN
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StatementVisitor visitor)
boolean
equals(Object obj)
Iterable<String>
functionDependencies(OsFamily family)
int
hashCode()
String
render(OsFamily family)
-
-
-
Constructor Detail
-
SwitchArg
public SwitchArg(int arg, Map<String,Statement> valueToActions)
Generates a switch statement based onarg
. If its value is found to be a key invalueToActions
, the corresponding action is invoked. Ex. arg is1
- the first argument to the script
and valueToActions is {"start" -> "echo hello", "stop" -> "echo goodbye"}
the script created will respond accordingly:
./script start
<< returns hello
./script stop
<< returns goodbye- Parameters:
arg
- - shell arg to switch onvalueToActions
- - case statements, if the value of the arg matches a key, the corresponding value will be invoked.
-
-
Method Detail
-
functionDependencies
public Iterable<String> functionDependencies(OsFamily family)
- Specified by:
functionDependencies
in interfaceStatement
-
accept
public void accept(StatementVisitor visitor)
- Specified by:
accept
in interfaceAcceptsStatementVisitor
-
-