Class Utils

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

public class Utils extends Object
Utilities used to build init scripts.
  • Field Details

    • 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 Details

    • Utils

      public Utils()
  • Method Details

    • 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:
    • 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:
    • 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.