Package com.atlassian.bamboo.variable
Class CustomVariableContextImpl
java.lang.Object
com.atlassian.bamboo.variable.CustomVariableContextImpl
- All Implemented Interfaces:
CustomVariableContext
-
Constructor Summary
ConstructorDescriptionCustomVariableContextImpl
(VariableSubstitutorFactory variableSubstitutorFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCustomData
(String key, String value) Adds aVariableType.MANUAL
variable toThreadLocal
state.void
ClearThreadLocal
state.findAllVariables
(@Nullable String variable) Given a string, and aMap
of variables (variable -> value), all patterns in the string array matching ${bamboo.<variable>} will be substituted with the value.Return variables all built-in variables produced by repository plugin for the current build context.@NotNull Map<String,
VariableSubstitutionContext> Get all the variables that have previously been substituted in this thread.@NotNull Map<String,
VariableDefinitionContext> Get all variables from current thread local context.@NotNull VariableSubstitutorFactory
@NotNull String
removeAllVariables
(@NotNull String value) Given a string array, remove all variable patterns.void
setPlan
(@NotNull ImmutablePlan plan) Sets Plan reference and default variable definitions (globals and from plan) inThreadLocal
state.substituteString
(String value) Substitutes variables in the input string with their values using data from existingThreadLocal
state.void
withVariableSubstitutor
(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Runnable runnable) Run operation with providedVariableSubstitutor
in thread local context.<V> V
withVariableSubstitutor
(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Callable<V> callable) Run operation with providedVariableSubstitutor
in thread local context.<V> V
withVariableSubstitutor
(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Supplier<V> supplier) Run operation with providedVariableSubstitutor
in thread local context.withVariableSubstitutor
(@NotNull VariableSubstitutor variableSubstitutor, BambooCallables.ThrowingX<V, E1, E2, E3> callable) Run operation with providedVariableSubstitutor
in thread local context.
-
Constructor Details
-
CustomVariableContextImpl
-
-
Method Details
-
getSubstitutedVariables
Description copied from interface:CustomVariableContext
Get all the variables that have previously been substituted in this thread.- Specified by:
getSubstitutedVariables
in interfaceCustomVariableContext
- Returns:
-
addCustomData
Description copied from interface:CustomVariableContext
Adds aVariableType.MANUAL
variable toThreadLocal
state.- Specified by:
addCustomData
in interfaceCustomVariableContext
- Parameters:
key
- name of the variablevalue
- value of the variable
-
substituteString
Description copied from interface:CustomVariableContext
Substitutes variables in the input string with their values using data from existingThreadLocal
state.- Specified by:
substituteString
in interfaceCustomVariableContext
- Parameters:
value
- input string- Returns:
- substituted string
-
setPlan
Description copied from interface:CustomVariableContext
Sets Plan reference and default variable definitions (globals and from plan) inThreadLocal
state. Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
- Specified by:
setPlan
in interfaceCustomVariableContext
-
clearContext
public void clearContext()Description copied from interface:CustomVariableContext
ClearThreadLocal
state.- Specified by:
clearContext
in interfaceCustomVariableContext
-
removeAllVariables
Given a string array, remove all variable patterns.- Specified by:
removeAllVariables
in interfaceCustomVariableContext
- Parameters:
value
- string values to be analyzed- Returns:
- value with variables removed
-
findAllVariables
Given a string, and aMap
of variables (variable -> value), all patterns in the string array matching ${bamboo.<variable>} will be substituted with the value.- Specified by:
findAllVariables
in interfaceCustomVariableContext
- Parameters:
variable
- String value to be analyzed- Returns:
- Array of string values with variables extrapolated
-
getVariableContexts
Description copied from interface:CustomVariableContext
Get all variables from current thread local context.- Specified by:
getVariableContexts
in interfaceCustomVariableContext
- Returns:
- mapping between variable keys and contexts
-
getBuildInRepositoryVariablesIfBuildContext
Description copied from interface:CustomVariableContext
Return variables all built-in variables produced by repository plugin for the current build context. Current thread local state must containBuildContext
, otherwise returned map will be empty. Note: variables are used in repository definition, they will be resolved according to current state of theCustomVariableContext
- Specified by:
getBuildInRepositoryVariablesIfBuildContext
in interfaceCustomVariableContext
-
getVariableSubstitutorFactory
- Specified by:
getVariableSubstitutorFactory
in interfaceCustomVariableContext
- Returns:
- factory for
VariableSubstitutor
-
withVariableSubstitutor
public void withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Runnable runnable) Description copied from interface:CustomVariableContext
Run operation with providedVariableSubstitutor
in thread local context. Restore current thread local state when finished.- Specified by:
withVariableSubstitutor
in interfaceCustomVariableContext
-
withVariableSubstitutor
public <V> V withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Callable<V> callable) throws Exception Description copied from interface:CustomVariableContext
Run operation with providedVariableSubstitutor
in thread local context. Restore current thread local state when finished.- Specified by:
withVariableSubstitutor
in interfaceCustomVariableContext
- Throws:
Exception
-
withVariableSubstitutor
public <V> V withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Supplier<V> supplier) Description copied from interface:CustomVariableContext
Run operation with providedVariableSubstitutor
in thread local context. Restore current thread local state when finished.- Specified by:
withVariableSubstitutor
in interfaceCustomVariableContext
-
withVariableSubstitutor
public <V,E1 extends Exception, V withVariableSubstitutorE2 extends Exception, E3 extends Exception> (@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull BambooCallables.ThrowingX<V, E1, throws E1, E2, E3E2, E3> callable) Description copied from interface:CustomVariableContext
Run operation with providedVariableSubstitutor
in thread local context. Restore current thread local state when finished.- Specified by:
withVariableSubstitutor
in interfaceCustomVariableContext
- Throws:
E1 extends Exception
E2 extends Exception
E3 extends Exception
-