
hope.kola.contract.restassured.ParamConfigBuilder Maven / Gradle / Ivy
package hope.kola.contract.restassured;
import static io.restassured.config.ParamConfig.UpdateStrategy.MERGE;
import io.restassured.config.ParamConfig;
public class ParamConfigBuilder implements Mergeable {
protected ParamConfig.UpdateStrategy queryParamsUpdateStrategy;
protected ParamConfig.UpdateStrategy pathParamsUpdateStrategy;
protected ParamConfig.UpdateStrategy formParamsUpdateStrategy;
protected ParamConfig.UpdateStrategy requestParameterUpdateStrategy;
@Override
public ParamConfigBuilder merger(ParamConfigBuilder from) {
ParamConfigBuilder res = new ParamConfigBuilder();
res.queryParamsUpdateStrategy = queryParamsUpdateStrategy;
res.pathParamsUpdateStrategy = pathParamsUpdateStrategy;
res.formParamsUpdateStrategy = formParamsUpdateStrategy;
res.requestParameterUpdateStrategy = requestParameterUpdateStrategy;
if (from.queryParamsUpdateStrategy != null) {
res.queryParamsUpdateStrategy = from.queryParamsUpdateStrategy;
}
if (from.pathParamsUpdateStrategy != null) {
res.pathParamsUpdateStrategy = from.pathParamsUpdateStrategy;
}
if (from.formParamsUpdateStrategy != null) {
res.formParamsUpdateStrategy = from.formParamsUpdateStrategy;
}
if (from.requestParameterUpdateStrategy != null) {
res.requestParameterUpdateStrategy = from.requestParameterUpdateStrategy;
}
return res;
}
@Override
public ParamConfig transform() {
// MERGE, REPLACE, MERGE, MERGE
// merger from default
ParamConfig res = new ParamConfig();
ParamConfig.UpdateStrategy _queryParamsUpdateStrategy =
queryParamsUpdateStrategy == null
? res.queryParamsUpdateStrategy()
: queryParamsUpdateStrategy;
ParamConfig.UpdateStrategy _pathParamsUpdateStrategy =
pathParamsUpdateStrategy == null
? res.pathParamsUpdateStrategy()
: pathParamsUpdateStrategy;
ParamConfig.UpdateStrategy _formParamsUpdateStrategy =
formParamsUpdateStrategy == null
? res.formParamsUpdateStrategy()
: formParamsUpdateStrategy;
ParamConfig.UpdateStrategy _requestParameterUpdateStrategy =
requestParameterUpdateStrategy == null
? res.requestParamsUpdateStrategy()
: requestParameterUpdateStrategy;
return new ParamConfig(
_queryParamsUpdateStrategy,
_pathParamsUpdateStrategy,
_formParamsUpdateStrategy,
_requestParameterUpdateStrategy);
}
/** Parameters with the same name is merged. */
public ParamConfig.UpdateStrategy merger() {
return MERGE;
}
/** Parameters with the same name is replaced with the latest applied value. */
public ParamConfig.UpdateStrategy replace() {
return ParamConfig.UpdateStrategy.REPLACE;
}
public void queryParamsUpdateStrategy(ParamConfig.UpdateStrategy strategy) {
this.queryParamsUpdateStrategy = strategy;
}
public void pathParamsUpdateStrategy(ParamConfig.UpdateStrategy strategy) {
this.pathParamsUpdateStrategy = strategy;
}
public void formParamsUpdateStrategy(ParamConfig.UpdateStrategy strategy) {
this.formParamsUpdateStrategy = strategy;
}
public void requestParameterUpdateStrategy(ParamConfig.UpdateStrategy strategy) {
this.requestParameterUpdateStrategy = strategy;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy