Class Utils


  • public class Utils
    extends Object
    Utilities used to build init scripts.
    • 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
    • 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
      • writeFunctionFromResource

        public static String writeFunctionFromResource​(String function,
                                                       OsFamily family)
      • 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.
      • 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.