All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hope.kola.contract.restassured.MultiPartConfigBuilder Maven / Gradle / Ivy

There is a newer version: 1.1.2-RELEASE
Show newest version
package hope.kola.contract.restassured;

import io.restassured.config.MultiPartConfig;
import org.apache.commons.lang3.StringUtils;

public class MultiPartConfigBuilder implements Mergeable {
  public static final String DEFAULT_CONTROL_NAME = "file";
  public static final String DEFAULT_FILE_NAME = "file";
  public static final String DEFAULT_SUBTYPE = "form-data";
  public static final String DEFAULT_CHARSET = null;
  public static final String DEFAULT_BOUNDARY = null;

  protected String defaultControlName;
  protected String defaultFileName;
  protected String defaultSubtype;
  protected String defaultBoundary;
  protected String defaultCharset;

  @Override
  public MultiPartConfigBuilder merger(MultiPartConfigBuilder from) {
    MultiPartConfigBuilder res = new MultiPartConfigBuilder();
    res.defaultFileName = defaultFileName;
    res.defaultSubtype = defaultSubtype;
    res.defaultBoundary = defaultBoundary;
    res.defaultCharset = defaultCharset;
    res.defaultControlName = defaultControlName;

    if (StringUtils.isNotBlank(from.defaultControlName)) {
      res.defaultControlName = from.defaultControlName;
    }

    if (StringUtils.isNotBlank(from.defaultSubtype)) {
      res.defaultSubtype = from.defaultSubtype;
    }

    if (StringUtils.isNotBlank(from.defaultBoundary)) {
      res.defaultBoundary = from.defaultBoundary;
    }

    if (StringUtils.isNotBlank(from.defaultCharset)) {
      res.defaultCharset = from.defaultCharset;
    }

    if (StringUtils.isNotBlank(from.defaultControlName)) {
      res.defaultControlName = from.defaultControlName;
    }

    return res;
  }

  @Override
  public MultiPartConfig transform() {
    MultiPartConfig res = new MultiPartConfig();
    if (StringUtils.isNotBlank(defaultControlName)) {
      res = res.defaultControlName(defaultControlName);
    }
    if (StringUtils.isNotBlank(defaultSubtype)) {
      res = res.defaultControlName(defaultControlName);
    }

    if (StringUtils.isNotBlank(defaultControlName)) {
      res = res.defaultControlName(defaultControlName);
    }

    if (StringUtils.isNotBlank(defaultCharset)) {
      res = res.defaultControlName(defaultCharset);
    }

    if (StringUtils.isNotBlank(defaultControlName)) {
      res = res.defaultControlName(defaultControlName);
    }

    return res;
  }

  public void defaultControlName(String defaultControlName) {
    this.defaultControlName = defaultControlName;
  }

  public void defaultFileName(String defaultFileName) {
    this.defaultFileName = defaultFileName;
  }

  public void defaultSubtype(String defaultSubtype) {
    this.defaultSubtype = defaultSubtype;
  }

  public void defaultBoundary(String defaultBoundary) {
    this.defaultBoundary = defaultBoundary;
  }

  public void defaultCharset(String defaultCharset) {
    this.defaultCharset = defaultCharset;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy