com.atlassian.bamboo.process
Interface EnvironmentVariableAccessor

All Known Implementing Classes:
EnvironmentVariableAccessorImpl

@PublicApi
public interface EnvironmentVariableAccessor

Accessor for all environment variables needed by the ProcessService.

Since:
3.1

Field Summary
static int MAX_SAFE_ENVIRONMENT_LENGTH
           
static int MAX_SAFE_INDIVIDUAL_VARIABLE_LENGTH
           
 
Method Summary
 Map<String,String> getEnvironment()
           
 Map<String,String> getEnvironment(CommonTaskContext taskContext)
          Use TaskContext as a source of environment settings.
 List<String> getPaths(CommonTaskContext taskContext)
          Use TaskContext as a source of additional PATH settings.
 String joinEnvironmentVariables(Iterable<Map.Entry<String,String>> environmentVariables)
          Concatenate environment variables into string.
 String joinEnvironmentVariables(Map<String,String> environmentVariables)
          Concatenate environment variables into string.
 Map<String,String> splitEnvironmentAssignments(String environmentAssignments)
          Splits "Environment settings" string into array of separate strings.
 Map<String,String> splitEnvironmentAssignments(String environmentAssignments, boolean processBackslashes)
          Splits "Environment settings" string into array of separate strings.
 void validateEnvironmentVariables(Iterable<Map.Entry<String,String>> environmentVariables)
          Perform basic validation of environment settings before passing it to process-utils
 void validateEnvironmentVariables(Map<String,String> environmentVariables)
          Perform basic validation of environment settings before passing it to process-utils
 

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
Map<String,String> getEnvironment()

getEnvironment

@NotNull
Map<String,String> getEnvironment(@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
List<String> getPaths(@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
String joinEnvironmentVariables(@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
String joinEnvironmentVariables(@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
Map<String,String> splitEnvironmentAssignments(@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
Map<String,String> splitEnvironmentAssignments(@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
                                  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
                                  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


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.