public class CustomVariableContextForTests extends Object implements CustomVariableContext
Constructor and Description |
---|
CustomVariableContextForTests() |
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. |
@NotNull Set<String> |
findAllVariables(@Nullable String stringWithVariables)
Given a string, all patterns in the string matching ${bamboo.<variable>} or ${system.<variable>} will be found.
|
@NotNull Map<String,VariableDefinitionContext> |
getBuildInRepositoryVariablesIfBuildContext()
Return variables all built-in variables produced by repository plugin for the current build context.
|
@NotNull Map<String,VariableSubstitutionContext> |
getSubstitutedVariables()
Get all the variables that have previously been substituted in this thread.
|
@NotNull Map<String,VariableDefinitionContext> |
getVariableContexts()
Get all variables from current thread local context.
|
@NotNull VariableSubstitutorFactory |
getVariableSubstitutorFactory() |
@NotNull String |
removeAllVariables(@NotNull String unparsedString)
Given a string, remove all variable patterns.
|
void |
setPlan(@NotNull ImmutablePlan plan)
Sets Plan reference and default variable definitions (globals and from plan) in
ThreadLocal state. |
String |
substituteString(@Nullable String value)
Substitutes variables in the input string with their values using data from existing
ThreadLocal state. |
<V,E1 extends Exception,E2 extends Exception,E3 extends Exception> |
withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor,
BambooCallables.ThrowingX<V,E1,E2,E3> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor,
@NotNull Callable<V> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
void |
withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor,
@NotNull Runnable runnable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor,
@NotNull Supplier<V> supplier)
Run operation with provided
VariableSubstitutor in thread local context. |
public void addCustomData(String key, String value)
CustomVariableContext
VariableType.MANUAL
variable to ThreadLocal
state.addCustomData
in interface CustomVariableContext
key
- name of the variablevalue
- value of the variablepublic String substituteString(@Nullable @Nullable String value)
CustomVariableContext
ThreadLocal
state.substituteString
in interface CustomVariableContext
value
- input string@NotNull public @NotNull Map<String,VariableDefinitionContext> getVariableContexts()
CustomVariableContext
getVariableContexts
in interface CustomVariableContext
@NotNull public @NotNull String removeAllVariables(@NotNull @NotNull String unparsedString)
CustomVariableContext
removeAllVariables
in interface CustomVariableContext
unparsedString
- string values to be analyzed@NotNull public @NotNull Map<String,VariableSubstitutionContext> getSubstitutedVariables()
CustomVariableContext
getSubstitutedVariables
in interface CustomVariableContext
@NotNull public @NotNull Set<String> findAllVariables(@Nullable @Nullable String stringWithVariables)
CustomVariableContext
findAllVariables
in interface CustomVariableContext
stringWithVariables
- String value to be analyzed@NotNull public @NotNull Map<String,VariableDefinitionContext> getBuildInRepositoryVariablesIfBuildContext()
CustomVariableContext
BuildContext
, otherwise returned map will be empty.
Note: variables are used in repository definition, they will be resolved according to current state of the CustomVariableContext
getBuildInRepositoryVariablesIfBuildContext
in interface CustomVariableContext
public void setPlan(@NotNull @NotNull ImmutablePlan plan)
CustomVariableContext
ThreadLocal
state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
setPlan
in interface CustomVariableContext
public void clearContext()
CustomVariableContext
ThreadLocal
state.clearContext
in interface CustomVariableContext
@NotNull public @NotNull VariableSubstitutorFactory getVariableSubstitutorFactory()
getVariableSubstitutorFactory
in interface CustomVariableContext
VariableSubstitutor
public void withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Runnable runnable)
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
public <V> V withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Callable<V> callable) throws Exception
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
Exception
public <V> V withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull @NotNull Supplier<V> supplier)
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
public <V,E1 extends Exception,E2 extends Exception,E3 extends Exception> V withVariableSubstitutor(@NotNull @NotNull VariableSubstitutor variableSubstitutor, @NotNull BambooCallables.ThrowingX<V,E1,E2,E3> callable) throws E1 extends Exception, E2 extends Exception, E3 extends Exception
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
E1 extends Exception
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.