Class ParameterFactoryImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.parameters.ParameterFactoryImpl
-
- All Implemented Interfaces:
ParameterFactory
public class ParameterFactoryImpl extends Object implements ParameterFactory
- Author:
- Eugene Petrenko (eugene.petrenko@gmail.com) Date: 08.09.11 18:46
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jetbrains.buildServer.serverSide.parameters.ParameterFactory
ParameterFactory.SecuredParameterResolver
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
isReadonlyAllowed
static boolean
isSpecValidationEnabled
static String
OUR_PASSWORD_REPLACE
static String
TEAMCITY_PARAMETERS_READONLY_ALLOWED
static String
TEAMCITY_PARAMETERS_SHOULD_VALIDATE_SPEC
static String
TRANSFORM_PARAMETER_WITH_SCRAMBLED_VALUE_TO_PASSWORD
-
Constructor Summary
Constructors Constructor Description ParameterFactoryImpl(ParameterDescriptionFactory descriptionFactory, ParameterTypeManager parameterTypeManager, EncryptionManager encryptionManager)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Parameter
createOverriddenParameter(Parameter baseParameter, Parameter childParameter)
Creates an instance of parameter that overrides a parameter from parentParameter
createParameter(String name, String value, ControlDescription descriptionSpec)
Parameter
createParameter(Parameter param, String newValue)
Parameter
createParameter(Parameter param, Converter<String,String> mapper)
Parameter
createParameterWithNewName(Parameter parameter, String name)
Creates a copy of provided parameter with new nameParameter
createSimpleParameter(String name, String value)
Parameter
createTypedParameter(String name, String value, String typeSpec)
jetbrains.buildServer.serverSide.parameters.ParameterFactoryImpl.RawParameterImpl
deserializeDBParameter(String name, String rawValue)
Collection<Parameter>
deserializeDBParameters(Map<String,String> databaseParameters)
Collection<Parameter>
deserializeXmlParameters(org.jdom.Element element, UserParametersHolder parametersHolder, ParameterFactory.SecuredParameterResolver securedValues)
String
getRawValue(Parameter parameter)
For given parameter returns its raw value.Map<String,String>
getRawValues(Collection<Parameter> parameters)
Accepts collection of parameters, returns map from parameter name to its raw value.boolean
isSecureParameter(ControlDescription cd)
static boolean
isSecureParameter(ParameterTypeManager parameterTypeManager, ControlDescription cd)
<ObjectType>
ObjectTypemerge(ControlDescription baseCD, ObjectType base, ObjectType child, Function<ObjectType,String> toStringFunction, BiFunction<ObjectType,ObjectType,ObjectType> mergingFunction)
Parameter
mergeParameters(Parameter baseParameter, Parameter childParameter)
Merges 2 parametersMap<String,String>
serializeDBParameters(SerializableParametersCollection col)
void
serializeXmlParameters(Parameterized builder, SecureTokensProducer tokensProducer, SerializableParametersCollection col)
Parameter
setDescription(Parameter parameter, ControlDescription description)
static void
setSpecValidation(boolean isEnabled)
Parameter
updateParameter(Parameter oldParameter, Parameter newParameter)
-
-
-
Field Detail
-
OUR_PASSWORD_REPLACE
public static final String OUR_PASSWORD_REPLACE
- See Also:
- Constant Field Values
-
TRANSFORM_PARAMETER_WITH_SCRAMBLED_VALUE_TO_PASSWORD
public static final String TRANSFORM_PARAMETER_WITH_SCRAMBLED_VALUE_TO_PASSWORD
- See Also:
- Constant Field Values
-
TEAMCITY_PARAMETERS_SHOULD_VALIDATE_SPEC
public static final String TEAMCITY_PARAMETERS_SHOULD_VALIDATE_SPEC
- See Also:
- Constant Field Values
-
TEAMCITY_PARAMETERS_READONLY_ALLOWED
public static final String TEAMCITY_PARAMETERS_READONLY_ALLOWED
- See Also:
- Constant Field Values
-
isSpecValidationEnabled
public static boolean isSpecValidationEnabled
-
isReadonlyAllowed
public static boolean isReadonlyAllowed
-
-
Constructor Detail
-
ParameterFactoryImpl
public ParameterFactoryImpl(@NotNull ParameterDescriptionFactory descriptionFactory, @NotNull ParameterTypeManager parameterTypeManager, @NotNull EncryptionManager encryptionManager)
-
-
Method Detail
-
createSimpleParameter
@NotNull public Parameter createSimpleParameter(@NotNull String name, @NotNull String value)
- Specified by:
createSimpleParameter
in interfaceParameterFactory
-
createTypedParameter
@NotNull public Parameter createTypedParameter(@NotNull String name, @NotNull String value, @Nullable String typeSpec)
- Specified by:
createTypedParameter
in interfaceParameterFactory
-
createParameter
@NotNull public Parameter createParameter(@NotNull String name, @NotNull String value, @Nullable ControlDescription descriptionSpec)
- Specified by:
createParameter
in interfaceParameterFactory
-
createParameter
@NotNull public Parameter createParameter(@NotNull Parameter param, @NotNull String newValue)
- Specified by:
createParameter
in interfaceParameterFactory
-
createParameter
@NotNull public Parameter createParameter(@NotNull Parameter param, @NotNull Converter<String,String> mapper)
- Specified by:
createParameter
in interfaceParameterFactory
-
updateParameter
@NotNull public Parameter updateParameter(@NotNull Parameter oldParameter, @NotNull Parameter newParameter)
- Specified by:
updateParameter
in interfaceParameterFactory
-
createParameterWithNewName
@NotNull public Parameter createParameterWithNewName(@NotNull Parameter parameter, @NotNull String name)
Description copied from interface:ParameterFactory
Creates a copy of provided parameter with new name- Specified by:
createParameterWithNewName
in interfaceParameterFactory
- Parameters:
parameter
- original parametername
- new name- Returns:
- copy of parameter with new name
-
setDescription
@NotNull public Parameter setDescription(@NotNull Parameter parameter, @Nullable ControlDescription description)
-
mergeParameters
public Parameter mergeParameters(@Nullable Parameter baseParameter, @NotNull Parameter childParameter)
Description copied from interface:ParameterFactory
Merges 2 parameters- Specified by:
mergeParameters
in interfaceParameterFactory
- Returns:
- 1. If there is no base Parameter - child Parameter is returned 2. If base Parameter has Const spec - base Parameter is returned 3. If child value is not compliant with base spec - base Parameter is returned 4. A new Parameter instance with base spec and child value is returned otherwise
-
merge
@NotNull public <ObjectType> ObjectType merge(@Nullable ControlDescription baseCD, @Nullable ObjectType base, @NotNull ObjectType child, @NotNull Function<ObjectType,String> toStringFunction, @NotNull BiFunction<ObjectType,ObjectType,ObjectType> mergingFunction)
- Specified by:
merge
in interfaceParameterFactory
-
createOverriddenParameter
@NotNull public Parameter createOverriddenParameter(@NotNull Parameter baseParameter, @NotNull Parameter childParameter)
Description copied from interface:ParameterFactory
Creates an instance of parameter that overrides a parameter from parent- Specified by:
createOverriddenParameter
in interfaceParameterFactory
- Parameters:
baseParameter
- base parameter to be overriddenchildParameter
- child parameter to be used- Returns:
- new instance of parameter
-
serializeXmlParameters
public void serializeXmlParameters(@NotNull Parameterized builder, @NotNull SecureTokensProducer tokensProducer, @NotNull SerializableParametersCollection col)
- Specified by:
serializeXmlParameters
in interfaceParameterFactory
-
deserializeDBParameters
@NotNull public Collection<Parameter> deserializeDBParameters(@NotNull Map<String,String> databaseParameters)
- Specified by:
deserializeDBParameters
in interfaceParameterFactory
-
deserializeDBParameter
@NotNull public jetbrains.buildServer.serverSide.parameters.ParameterFactoryImpl.RawParameterImpl deserializeDBParameter(@NotNull String name, @NotNull String rawValue)
- Specified by:
deserializeDBParameter
in interfaceParameterFactory
-
serializeDBParameters
@NotNull public Map<String,String> serializeDBParameters(@NotNull SerializableParametersCollection col)
- Specified by:
serializeDBParameters
in interfaceParameterFactory
-
getRawValues
@NotNull public Map<String,String> getRawValues(@NotNull Collection<Parameter> parameters)
Description copied from interface:ParameterFactory
Accepts collection of parameters, returns map from parameter name to its raw value. Results are unpredictable if collection of parameters contains two parameters with the same name.- Specified by:
getRawValues
in interfaceParameterFactory
- Parameters:
parameters
- parameters collection- Returns:
- map from name to parameter raw value
-
getRawValue
@NotNull public String getRawValue(@NotNull Parameter parameter)
Description copied from interface:ParameterFactory
For given parameter returns its raw value.- Specified by:
getRawValue
in interfaceParameterFactory
- Parameters:
parameter
- parameter- Returns:
- raw value of given parameter
-
deserializeXmlParameters
@NotNull public Collection<Parameter> deserializeXmlParameters(@NotNull org.jdom.Element element, @Nullable UserParametersHolder parametersHolder, @Nullable ParameterFactory.SecuredParameterResolver securedValues)
- Specified by:
deserializeXmlParameters
in interfaceParameterFactory
-
isSecureParameter
public boolean isSecureParameter(@Nullable ControlDescription cd)
- Specified by:
isSecureParameter
in interfaceParameterFactory
- Parameters:
cd
- parameter specification, if null then this method always returns false- Returns:
- true if parameter specification corresponds to secure parameter
-
isSecureParameter
public static boolean isSecureParameter(@NotNull ParameterTypeManager parameterTypeManager, @Nullable ControlDescription cd)
-
setSpecValidation
public static void setSpecValidation(boolean isEnabled)
-
-