public class CustomVariableContextImpl extends Object implements CustomVariableContext
| Constructor and Description |
|---|
CustomVariableContextImpl(VariableSubstitutorFactory variableSubstitutorFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCustomData(String key,
String value)
Adds a
VariableType.MANUAL variable to ThreadLocal state. |
void |
clearContext()
Clear
ThreadLocal state. |
Set<String> |
findAllVariables(String variable)
Given a string, and a
Map of variables (variable -> value), all patterns in the string array
matching ${bamboo.<variable>} will be substituted with the value. |
Map<String,VariableDefinitionContext> |
getBuildInRepositoryVariablesIfBuildContext()
Return variables all built-in variables produced by repository plugin for the current build context.
|
Map<String,VariableSubstitutionContext> |
getSubstitutedVariables()
Get all the variables that have previously been substituted in this thread.
|
Map<String,VariableDefinitionContext> |
getVariableContexts()
Get all variables from current thread local context.
|
Map<String,VariableDefinitionContext> |
getVariableContexts(CommonContext commonContext)
Get all variables from context.
|
Map<String,String> |
getVariables(CommonContext buildContext)
Get all variables from context.
|
VariableSubstitutorFactory |
getVariableSubstitutorFactory() |
String |
removeAllVariables(String value)
Given a string array, remove all variable patterns.
|
void |
setCommonContext(CommonContext commonContext)
Set context reference in
ThreadLocal state. |
void |
setPlan(ImmutablePlan plan)
Sets Plan reference and default variable definitions (globals and from plan) in
ThreadLocal state. |
void |
setPlan(ImmutablePlan plan,
Map<String,VariableDefinitionContext> variablesContextMap)
Sets Plan reference and variable definitions in
ThreadLocal state. |
void |
setPlan(PlanIdentifier planIdentifier,
Map<String,VariableDefinitionContext> variablesContextMap)
Sets Plan reference and variable definitions in
ThreadLocal state. |
void |
setVariables(Map<String,VariableDefinitionContext> variablesContextMap)
Set variable definitions in
ThreadLocal state. |
String |
substituteString(String value)
Substitutes variables in the input string with their values using data from existing
ThreadLocal state. |
String |
substituteString(String value,
CommonContext commonContext,
BuildLogger buildLogger)
Substitutes variables in the input string with their values using provided data, i.e.
|
<V,E1 extends Exception,E2 extends Exception,E3 extends Exception> |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
BambooCallables.ThrowingX<V,E1,E2,E3> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Callable<V> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
void |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Runnable runnable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Supplier<V> supplier)
Run operation with provided
VariableSubstitutor in thread local context. |
public CustomVariableContextImpl(VariableSubstitutorFactory variableSubstitutorFactory)
public void setPlan(@NotNull
PlanIdentifier planIdentifier,
@Nullable
Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContextThreadLocal state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()setPlan in interface CustomVariableContextvariablesContextMap - variable definitions (including plan variables)public void setPlan(@NotNull
ImmutablePlan plan)
CustomVariableContextThreadLocal state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()setPlan in interface CustomVariableContextpublic void setPlan(@NotNull
ImmutablePlan plan,
@Nullable
Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContextThreadLocal state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()setPlan in interface CustomVariableContextvariablesContextMap - variable definitions (including plan variables)public void setVariables(Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContextThreadLocal state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()setVariables in interface CustomVariableContextvariablesContextMap - variable definitionspublic void setCommonContext(@NotNull
CommonContext commonContext)
CustomVariableContextThreadLocal state.
Sets the variable definitions to those contained in the context.
context has priority over Plans and Deployment Jobs when resolving the variables.setCommonContext in interface CustomVariableContextpublic void clearContext()
CustomVariableContextThreadLocal state.clearContext in interface CustomVariableContext@NotNull public Map<String,VariableSubstitutionContext> getSubstitutedVariables()
CustomVariableContextgetSubstitutedVariables in interface CustomVariableContextpublic void addCustomData(String key, String value)
CustomVariableContextVariableType.MANUAL variable to ThreadLocal state.addCustomData in interface CustomVariableContextkey - name of the variablevalue - value of the variablepublic String substituteString(String value)
CustomVariableContextThreadLocal state.substituteString in interface CustomVariableContextvalue - input stringpublic String substituteString(String value, @Nullable CommonContext commonContext, BuildLogger buildLogger)
CustomVariableContextThreadLocal state.substituteString in interface CustomVariableContextvalue - input stringcommonContext - build contextbuildLogger - build logger@NotNull public String removeAllVariables(@NotNull String value)
removeAllVariables in interface CustomVariableContextvalue - string values to be analyzed@NotNull public Set<String> findAllVariables(@Nullable String variable)
Map of variables (variable -> value), all patterns in the string array
matching ${bamboo.<variable>} will be substituted with the value.findAllVariables in interface CustomVariableContextvariable - String value to be analyzed@NotNull public Map<String,VariableDefinitionContext> getVariableContexts(@Nullable CommonContext commonContext)
CustomVariableContextgetVariableContexts in interface CustomVariableContextcommonContext - build or deployment context@NotNull public Map<String,VariableDefinitionContext> getVariableContexts()
CustomVariableContextgetVariableContexts in interface CustomVariableContext@NotNull public Map<String,String> getVariables(@Nullable CommonContext buildContext)
CustomVariableContextgetVariables in interface CustomVariableContextbuildContext - Build or Deployment contextpublic Map<String,VariableDefinitionContext> getBuildInRepositoryVariablesIfBuildContext()
CustomVariableContextBuildContext, otherwise returned map will be empty.
Note: variables are used in repository definition, they will be resolved according to current state of the CustomVariableContextgetBuildInRepositoryVariablesIfBuildContext in interface CustomVariableContext@NotNull public VariableSubstitutorFactory getVariableSubstitutorFactory()
getVariableSubstitutorFactory in interface CustomVariableContextVariableSubstitutorpublic void withVariableSubstitutor(@NotNull
VariableSubstitutor variableSubstitutor,
@NotNull
Runnable runnable)
CustomVariableContextVariableSubstitutor in thread local context. Restore current thread local state when finished.withVariableSubstitutor in interface CustomVariableContextpublic <V> V withVariableSubstitutor(@NotNull
VariableSubstitutor variableSubstitutor,
@NotNull
Callable<V> callable)
throws Exception
CustomVariableContextVariableSubstitutor in thread local context. Restore current thread local state when finished.withVariableSubstitutor in interface CustomVariableContextExceptionpublic <V> V withVariableSubstitutor(@NotNull
VariableSubstitutor variableSubstitutor,
@NotNull
Supplier<V> supplier)
CustomVariableContextVariableSubstitutor in thread local context. Restore current thread local state when finished.withVariableSubstitutor in interface CustomVariableContextpublic <V,E1 extends Exception,E2 extends Exception,E3 extends Exception> V withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor, @NotNull BambooCallables.ThrowingX<V,E1,E2,E3> callable) throws E1 extends Exception, E2 extends Exception, E3 extends Exception
CustomVariableContextVariableSubstitutor in thread local context. Restore current thread local state when finished.withVariableSubstitutor in interface CustomVariableContextE1 extends ExceptionCopyright © 2019 Atlassian Software Systems Pty Ltd. All rights reserved.