Package org.jclouds.scriptbuilder.util
Class Utils
java.lang.Object
org.jclouds.scriptbuilder.util.Utils
Utilities used to build init scripts.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
InShellToken
, the values whose names end in_VARIABLE
designate variable names we know how to translate from one platform to another. -
Field Summary
FieldsModifier and TypeFieldDescription -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String
replaceTokens
(String input, Map<String, String> replacements) replaces tokens that are expressed as{token}
static <K1,
K2, V>
Map<K2, V> transformKeys
(Map<K1, V> in, com.google.common.base.Function<K1, K2> fn) change the keys but keep the values in-tact.static String
writeComment
(String comment, OsFamily family) static String
writeFunction
(String function, String source) static String
writeFunction
(String function, String source, OsFamily family) static String
writeFunctionFromResource
(String function, OsFamily family) static String
writePositionalVars
(Iterable<String> positionalVariables, OsFamily family) Writes an initialization statement for use inside a script or a function.static String
writeUnsetVariables
(Iterable<String> variablesToUnset, OsFamily family) Ensures that variables come from a known source instead of bleeding in from a profilestatic String
writeVariableExporters
(Map<String, String> exports) converts a map into variable exporters in shell intermediate language.static String
writeVariableExporters
(Map<String, String> exports, OsFamily family) converts a map into variable exports relevant to the specified platform.static String
writeZeroPath
(OsFamily family)
-
Field Details
-
OS_TO_POSITIONAL_VAR_PATTERN
-
OS_TO_LOCAL_VAR_PATTERN
-
OS_TO_ZERO_PATH
-
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
replaceTokens
replaces tokens that are expressed as{token}
ex. if input is "hello {where}"
and replacements is "where" -> "world"
then replaceTokens returns "hello world"- Parameters:
input
- source to replacereplacements
- token/value pairs
-
writeVariableExporters
converts a map into variable exports relevant to the specified platform. ex. ifkeys
is the map: "MAVEN_OPTS" -> "-Xms64m -Xmx256m"
and family is UNIX
then writeVariableExporters returns literallyexport MAVEN_OPTS="-Xms64m -Xmx256m"\n
- Parameters:
exports
- keys are the variables to export in UPPER_UNDERSCORE case formatfamily
- operating system for formatting- See Also:
-
writeVariableExporters
converts a map into variable exporters in shell intermediate language.- Parameters:
exports
- keys are the variables to export in UPPER_UNDERSCORE case format
-
writeFunction
-
writeFunctionFromResource
-
writeFunction
-
writePositionalVars
Writes an initialization statement for use inside a script or a function.- Parameters:
positionalVariables
- - transfer the value of args into these statements. Note that there is no check to ensure that all source args are indeed present.
-
writeUnsetVariables
Ensures that variables come from a known source instead of bleeding in from a profile- Parameters:
variablesToUnset
- - System variables to unset- See Also:
-
writeZeroPath
- Returns:
- line used to zero out the path of the script such that basic commands such as unix ps will work.
-
writeComment
-
transformKeys
public static <K1,K2, Map<K2,V> V> transformKeys(Map<K1, V> in, com.google.common.base.Function<K1, K2> fn) change the keys but keep the values in-tact.- Type Parameters:
K1
- input key typeK2
- output key typeV
- value type- Parameters:
in
- input map to transformfn
- how to transform the values- Returns:
- immutableMap with the new keys.
-