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.Set<java.lang.String> findAllVariables(java.lang.String stringWithVariables)
          Given a string, all patterns in the string matching ${bamboo.} or ${system.} will be found.
 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)
          Deprecated. since 5.0 use getVariables(CommonContext)
 java.util.Map<java.lang.String,java.lang.String> getVariables(CommonContext commonContext)
          Get all variables from context.
 java.lang.String removeAllVariables(java.lang.String unparsedString)
          Given a string, remove all variable patterns.
 void setBuildContext(BuildContext buildContext)
          Deprecated. since 5.0 use setCommonContext(CommonContext)
 void setCommonContext(CommonContext commonContext)
          Set context reference in ThreadLocal state.
 void setPlan(PlanIdentifier planIdentifier, 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)
          Deprecated. since 5.0 use substituteString(String, CommonContext, BuildLogger)
 java.lang.String substituteString(java.lang.String value, CommonContext commonContext, 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
Returns:
substituted string

substituteString

@Nullable
@Deprecated
java.lang.String substituteString(@Nullable
                                                      java.lang.String value,
                                                      @Nullable
                                                      BuildContext buildContext,
                                                      @Nullable
                                                      BuildLogger buildLogger)
Deprecated. since 5.0 use substituteString(String, CommonContext, 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
Returns:
substituted string

substituteString

@Nullable
java.lang.String substituteString(@Nullable
                                           java.lang.String value,
                                           @Nullable
                                           CommonContext commonContext,
                                           @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
commonContext - build context
buildLogger - build logger
Returns:
substituted string

getVariables

@NotNull
@Deprecated
java.util.Map<java.lang.String,java.lang.String> getVariables(@Nullable
                                                                                 BuildContext buildContext)
Deprecated. since 5.0 use getVariables(CommonContext)

Get all variables from context.

Parameters:
buildContext - Build or Deployment context
Returns:
mapping between variable keys and values

getVariables

@NotNull
java.util.Map<java.lang.String,java.lang.String> getVariables(@Nullable
                                                                      CommonContext commonContext)
Get all variables from context.

Parameters:
commonContext - Build or Deployment context
Returns:
mapping between variable keys and values

removeAllVariables

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

Parameters:
unparsedString - 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

@Deprecated
void setBuildContext(BuildContext buildContext)
Deprecated. since 5.0 use setCommonContext(CommonContext)

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 -

setCommonContext

void setCommonContext(@NotNull
                      CommonContext commonContext)
Set context reference in ThreadLocal state. Sets the variable definitions to those contained in the context. context has priority over Plans and Deployment Jobs when resolving the variables.

Parameters:
commonContext -

clearContext

void clearContext()
Clear ThreadLocal state.


setPlan

void setPlan(@NotNull
             PlanIdentifier planIdentifier,
             @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:
planIdentifier - plan identifier
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

findAllVariables

@NotNull
java.util.Set<java.lang.String> findAllVariables(@Nullable
                                                         java.lang.String stringWithVariables)
Given a string, all patterns in the string matching ${bamboo.} or ${system.} will be found.

Parameters:
stringWithVariables - String value to be analyzed
Returns:
Array of string values with variables extrapolated


Copyright © 2013 Atlassian Software Systems Pty Ltd. All Rights Reserved.