Interface EnvironmentVariableAccessor

    • Field Detail

      • MAX_SAFE_ENVIRONMENT_LENGTH

        static final int MAX_SAFE_ENVIRONMENT_LENGTH
        See Also:
        Constant Field Values
      • MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH

        static final int MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
        See Also:
        Constant Field Values
    • Method Detail

      • getEnvironment

        @NotNull
        @NotNull Map<String,​String> getEnvironment​(@NotNull
                                                         @NotNull CommonTaskContext taskContext)
        Use TaskContext as a source of environment settings. The following variables will be returned - variables for variable definitions from taskContext - JAVA_HOME (if defined in task configuration and appropriate capability exists)
        Parameters:
        taskContext - TaskContext object
        Returns:
        Key-value map
      • getPaths

        @NotNull
        @NotNull List<String> getPaths​(@NotNull
                                       @NotNull CommonTaskContext taskContext)
        Use TaskContext as a source of additional PATH settings. The following values might be returned - $JAVA_HOME/bin (if defined in task configuration and appropriate capability exists)
        Parameters:
        taskContext - TaskContext object
        Returns:
        List of paths (which will be probably added to PATH by caller
      • joinEnvironmentVariables

        @NotNull
        @NotNull String joinEnvironmentVariables​(@NotNull
                                                 @NotNull Map<String,​String> environmentVariables)
        Concatenate environment variables into string.
        Parameters:
        environmentVariables - Map of key-value pairs to be concatenated
        Returns:
        concatenated environment variables in form "KEY1=VALUE1 KEY2=VALUE2 ..."
      • joinEnvironmentVariables

        @NotNull
        @NotNull String joinEnvironmentVariables​(@NotNull
                                                 @NotNull Iterable<Map.Entry<String,​String>> environmentVariables)
        Concatenate environment variables into string.
        Parameters:
        environmentVariables - Map.Entry iterable of key-value pairs to be concatenated
        Returns:
        concatenated environment variables in form "KEY1=VALUE1 KEY2=VALUE2 ..."
      • splitEnvironmentAssignments

        @NotNull
        @NotNull Map<String,​String> splitEnvironmentAssignments​(@NotNull
                                                                      @NotNull String environmentAssignments,
                                                                      boolean processBackslashes)
        Splits "Environment settings" string into array of separate strings. Quoting is taken into consideration. An environment setting is defined as a sequence of characters [noquote]+([quote][noquote]+[quote])? or [quote][noquote][quote]
        Parameters:
        environmentAssignments - the string containing KEY=VALUE assignments separated with white characters
        processBackslashes - whether to treat a backslash as an ordinary or quoting character
        Returns:
        Map of separated environment settings.
      • splitEnvironmentAssignments

        @NotNull
        @NotNull Map<String,​String> splitEnvironmentAssignments​(@NotNull
                                                                      @NotNull String environmentAssignments)
        Splits "Environment settings" string into array of separate strings. Quoting using single and double quotes, but not backslashes is taken into consideration. An environment setting is defined as a sequence of characters. [noquote]+([quote][noquote]+[quote])? or [quote][noquote][quote]
        Parameters:
        environmentAssignments - string containing KEY=VALUE assignments separated with white characters
        Returns:
        Map of separated environment settings.
      • validateEnvironmentVariables

        void validateEnvironmentVariables​(@NotNull
                                          @NotNull Map<String,​String> environmentVariables)
        Perform basic validation of environment settings before passing it to process-utils
        Parameters:
        environmentVariables - Map.Entry iterable of key-value pairs to be concatenated
      • validateEnvironmentVariables

        void validateEnvironmentVariables​(@NotNull
                                          @NotNull Iterable<Map.Entry<String,​String>> environmentVariables)
        Perform basic validation of environment settings before passing it to process-utils
        Parameters:
        environmentVariables - Map.Entry iterable of key-value pairs to be concatenated