org.jclouds.scriptbuilder.util
Class Utils

java.lang.Object
  extended by org.jclouds.scriptbuilder.util.Utils

public class Utils
extends Object

Utilities used to build init scripts.


Nested Class Summary
static class Utils.VariableNameForOsFamily
          In ShellToken, the values whose names end in _VARIABLE designate variable names we know how to translate from one platform to another.
 
Field Summary
static Map<OsFamily,String> OS_TO_LOCAL_VAR_PATTERN
           
static Map<OsFamily,String> OS_TO_POSITIONAL_VAR_PATTERN
           
static Map<OsFamily,String> OS_TO_ZERO_PATH
           
 
Constructor Summary
Utils()
           
 
Method Summary
static String replaceTokens(String input, Map<String,String> replacements)
          replaces tokens that are expressed as {token}

ex.

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 profile
static 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OS_TO_POSITIONAL_VAR_PATTERN

public static final Map<OsFamily,String> OS_TO_POSITIONAL_VAR_PATTERN

OS_TO_LOCAL_VAR_PATTERN

public static final Map<OsFamily,String> OS_TO_LOCAL_VAR_PATTERN

OS_TO_ZERO_PATH

public static final Map<OsFamily,String> OS_TO_ZERO_PATH
Constructor Detail

Utils

public Utils()
Method Detail

replaceTokens

public static String replaceTokens(String input,
                                   Map<String,String> replacements)
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 replace
replacements - token/value pairs

writeVariableExporters

public static String writeVariableExporters(Map<String,String> exports,
                                            OsFamily family)
converts a map into variable exports relevant to the specified platform.

ex. if keys is the map: "MAVEN_OPTS" -> "-Xms64m -Xmx256m"
and family is UNIX
then writeVariableExporters returns literally export MAVEN_OPTS="-Xms64m -Xmx256m"\n

Parameters:
exports - keys are the variables to export in UPPER_UNDERSCORE case format
family - operating system for formatting
See Also:
Utils.VariableNameForOsFamily

writeVariableExporters

public static String writeVariableExporters(Map<String,String> exports)
converts a map into variable exporters in shell intermediate language.

Parameters:
exports - keys are the variables to export in UPPER_UNDERSCORE case format

writeFunction

public static String writeFunction(String function,
                                   String source,
                                   OsFamily family)

writeFunctionFromResource

public static String writeFunctionFromResource(String function,
                                               OsFamily family)

writeFunction

public static String writeFunction(String function,
                                   String source)

writePositionalVars

public static String writePositionalVars(Iterable<String> positionalVariables,
                                         OsFamily family)
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

public static String writeUnsetVariables(Iterable<String> variablesToUnset,
                                         OsFamily family)
Ensures that variables come from a known source instead of bleeding in from a profile

Parameters:
variablesToUnset - - System variables to unset
See Also:
Utils.VariableNameForOsFamily

writeZeroPath

public static String writeZeroPath(OsFamily family)
Returns:
line used to zero out the path of the script such that basic commands such as unix ps will work.

writeComment

public static String writeComment(String comment,
                                  OsFamily family)

transformKeys

public 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.

Type Parameters:
K1 - input key type
K2 - output key type
V - value type
Parameters:
in - input map to transform
fn - how to transform the values
Returns:
immutableMap with the new keys.


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.