com.atlassian.bamboo.variable
Interface CustomVariableContext

All Known Implementing Classes:
CustomVariableContextImpl

public interface CustomVariableContext

Bean maintaining ThreadLocal state of available variables. The state contains (if applicable): - current Plan - variable definitions (including Plan variables when applicable) - BuildContext - BuildLogger


Method Summary
 void addCustomData(java.lang.String key, java.lang.String value)
          Adds a VariableType.MANUAL variable to ThreadLocal state.
 void clearContext()
          Clear ThreadLocal state.
 java.util.Map<java.lang.String,VariableSubstitutionContext> getSubstitutedVariables()
          Get all the variables that have previously been substituted in this thread.
 java.util.Map<java.lang.String,java.lang.String> getVariables(BuildContext buildContext)
          Get all variables from buildContext.
 java.lang.String removeAllVariables(java.lang.String unparsedString)
          Given a string, remove all variable patterns.
 void setBuildContext(BuildContext buildContext)
          Set buildContext reference in ThreadLocal state.
 void setPlan(Plan plan, java.util.Map<java.lang.String,VariableDefinitionContext> variablesContextMap)
          Sets Plan reference and variable definitions in ThreadLocal state.
 void setVariables(java.util.Map<java.lang.String,VariableDefinitionContext> variablesContextMap)
          Set variable definitions in ThreadLocal state.
 java.lang.String substituteString(java.lang.String value)
          Substitutes variables in the input string with their values using data from existing ThreadLocal state.
 java.lang.String substituteString(java.lang.String value, BuildContext buildContext, BuildLogger buildLogger)
          Substitutes variables in the input string with their values using provided data, i.e.
 

Method Detail

addCustomData

void addCustomData(java.lang.String key,
                   java.lang.String value)
Adds a VariableType.MANUAL variable to ThreadLocal state.

Parameters:
key - name of the variable
value - value of the variable

substituteString

@Nullable
java.lang.String substituteString(@Nullable
                                           java.lang.String value)
Substitutes variables in the input string with their values using data from existing ThreadLocal state.

Parameters:
value - input string

substituteString

@Nullable
java.lang.String substituteString(@Nullable
                                           java.lang.String value,
                                           @Nullable
                                           BuildContext buildContext,
                                           @Nullable
                                           BuildLogger buildLogger)
Substitutes variables in the input string with their values using provided data, i.e. overriding (for this call only) any existing ThreadLocal state.

Parameters:
value - input string
buildContext - build context
buildLogger - build logger

getVariables

@NotNull
java.util.Map<java.lang.String,java.lang.String> getVariables(@Nullable
                                                                      BuildContext buildContext)
Get all variables from buildContext.

Parameters:
buildContext -
Returns:

removeAllVariables

@NotNull
java.lang.String removeAllVariables(@NotNull
                                            java.lang.String unparsedString)
Given a string, remove all variable patterns.

Parameters:
value - string values to be analyzed
Returns:
value with variables removed

getSubstitutedVariables

@NotNull
java.util.Map<java.lang.String,VariableSubstitutionContext> getSubstitutedVariables()
Get all the variables that have previously been substituted in this thread.

Returns:

setBuildContext

void setBuildContext(BuildContext buildContext)
Set buildContext reference in ThreadLocal state. Sets the variable definitions to those contained in the context. BuildContext has priority over Plan when resolving the variables.

Parameters:
buildContext -

clearContext

void clearContext()
Clear ThreadLocal state.


setPlan

void setPlan(@NotNull
             Plan plan,
             @Nullable
             java.util.Map<java.lang.String,VariableDefinitionContext> variablesContextMap)
Sets Plan reference and variable definitions in ThreadLocal state. Clears history of substituted variables (getSubstitutedVariables()

Parameters:
plan - plan
variablesContextMap - variable definitions (including plan variables)

setVariables

void setVariables(java.util.Map<java.lang.String,VariableDefinitionContext> variablesContextMap)
Set variable definitions in ThreadLocal state. Clears history of substituted variables (getSubstitutedVariables()

Parameters:
variablesContextMap - variable definitions


Copyright © 2011 Atlassian. All Rights Reserved.