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

io.honnix.rkt.launcher.options.PrepareOptionsBuilder Maven / Gradle / Ivy

There is a newer version: 0.0.8
Show newest version
package io.honnix.rkt.launcher.options;

import io.honnix.rkt.launcher.model.schema.type.Environment;
import io.honnix.rkt.launcher.model.schema.type.Mount;
import io.honnix.rkt.launcher.model.schema.type.Volume;
import io.norberg.automatter.AutoMatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import javax.annotation.Generated;

@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class PrepareOptionsBuilder {
  private Optional> volume;

  private Optional> mount;

  private Optional podManifest;

  private Optional> setEnv;

  private Optional setEnvFile;

  private List imagesOptions;

  public PrepareOptionsBuilder() {
    this.volume = Optional.empty();
    this.mount = Optional.empty();
    this.podManifest = Optional.empty();
    this.setEnv = Optional.empty();
    this.setEnvFile = Optional.empty();
  }

  private PrepareOptionsBuilder(PrepareOptions v) {
    this.volume = v.volume();
    this.mount = v.mount();
    this.podManifest = v.podManifest();
    this.setEnv = v.setEnv();
    this.setEnvFile = v.setEnvFile();
    List _imagesOptions = v.imagesOptions();
    this.imagesOptions = (_imagesOptions == null) ? null : new ArrayList(_imagesOptions);
  }

  private PrepareOptionsBuilder(PrepareOptionsBuilder v) {
    this.volume = v.volume;
    this.mount = v.mount;
    this.podManifest = v.podManifest;
    this.setEnv = v.setEnv;
    this.setEnvFile = v.setEnvFile;
    this.imagesOptions = (v.imagesOptions == null) ? null : new ArrayList(v.imagesOptions);
  }

  public Optional> volume() {
    return volume;
  }

  public PrepareOptionsBuilder volume(List volume) {
    return volume(Optional.ofNullable(volume));
  }

  @SuppressWarnings("unchecked")
  public PrepareOptionsBuilder volume(Optional> volume) {
    if (volume == null) {
      throw new NullPointerException("volume");
    }
    this.volume = (Optional>)volume;
    return this;
  }

  public Optional> mount() {
    return mount;
  }

  public PrepareOptionsBuilder mount(List mount) {
    return mount(Optional.ofNullable(mount));
  }

  @SuppressWarnings("unchecked")
  public PrepareOptionsBuilder mount(Optional> mount) {
    if (mount == null) {
      throw new NullPointerException("mount");
    }
    this.mount = (Optional>)mount;
    return this;
  }

  public Optional podManifest() {
    return podManifest;
  }

  public PrepareOptionsBuilder podManifest(String podManifest) {
    return podManifest(Optional.ofNullable(podManifest));
  }

  @SuppressWarnings("unchecked")
  public PrepareOptionsBuilder podManifest(Optional podManifest) {
    if (podManifest == null) {
      throw new NullPointerException("podManifest");
    }
    this.podManifest = (Optional)podManifest;
    return this;
  }

  public Optional> setEnv() {
    return setEnv;
  }

  public PrepareOptionsBuilder setEnv(List setEnv) {
    return setEnv(Optional.ofNullable(setEnv));
  }

  @SuppressWarnings("unchecked")
  public PrepareOptionsBuilder setEnv(Optional> setEnv) {
    if (setEnv == null) {
      throw new NullPointerException("setEnv");
    }
    this.setEnv = (Optional>)setEnv;
    return this;
  }

  public Optional setEnvFile() {
    return setEnvFile;
  }

  public PrepareOptionsBuilder setEnvFile(String setEnvFile) {
    return setEnvFile(Optional.ofNullable(setEnvFile));
  }

  @SuppressWarnings("unchecked")
  public PrepareOptionsBuilder setEnvFile(Optional setEnvFile) {
    if (setEnvFile == null) {
      throw new NullPointerException("setEnvFile");
    }
    this.setEnvFile = (Optional)setEnvFile;
    return this;
  }

  public List imagesOptions() {
    if (this.imagesOptions == null) {
      this.imagesOptions = new ArrayList();
    }
    return imagesOptions;
  }

  public PrepareOptionsBuilder imagesOptions(List imagesOptions) {
    return imagesOptions((Collection) imagesOptions);
  }

  public PrepareOptionsBuilder imagesOptions(Collection imagesOptions) {
    if (imagesOptions == null) {
      throw new NullPointerException("imagesOptions");
    }
    for (PerImageOptions item : imagesOptions) {
      if (item == null) {
        throw new NullPointerException("imagesOptions: null item");
      }
    }
    this.imagesOptions = new ArrayList(imagesOptions);
    return this;
  }

  public PrepareOptionsBuilder imagesOptions(Iterable imagesOptions) {
    if (imagesOptions == null) {
      throw new NullPointerException("imagesOptions");
    }
    if (imagesOptions instanceof Collection) {
      return imagesOptions((Collection) imagesOptions);
    }
    return imagesOptions(imagesOptions.iterator());
  }

  public PrepareOptionsBuilder imagesOptions(Iterator imagesOptions) {
    if (imagesOptions == null) {
      throw new NullPointerException("imagesOptions");
    }
    this.imagesOptions = new ArrayList();
    while (imagesOptions.hasNext()) {
      PerImageOptions item = imagesOptions.next();
      if (item == null) {
        throw new NullPointerException("imagesOptions: null item");
      }
      this.imagesOptions.add(item);
    }
    return this;
  }

  @SafeVarargs
  public final PrepareOptionsBuilder imagesOptions(PerImageOptions... imagesOptions) {
    if (imagesOptions == null) {
      throw new NullPointerException("imagesOptions");
    }
    return imagesOptions(Arrays.asList(imagesOptions));
  }

  public PrepareOptionsBuilder addImagesOption(PerImageOptions imagesOption) {
    if (imagesOption == null) {
      throw new NullPointerException("imagesOption");
    }
    if (this.imagesOptions == null) {
      this.imagesOptions = new ArrayList();
    }
    imagesOptions.add(imagesOption);
    return this;
  }

  public PrepareOptions build() {
    List _imagesOptions = (imagesOptions != null) ? Collections.unmodifiableList(new ArrayList(imagesOptions)) : Collections.emptyList();
    return new Value(volume, mount, podManifest, setEnv, setEnvFile, _imagesOptions);
  }

  public static PrepareOptionsBuilder from(PrepareOptions v) {
    return new PrepareOptionsBuilder(v);
  }

  public static PrepareOptionsBuilder from(PrepareOptionsBuilder v) {
    return new PrepareOptionsBuilder(v);
  }

  private static final class Value implements PrepareOptions {
    private final Optional> volume;

    private final Optional> mount;

    private final Optional podManifest;

    private final Optional> setEnv;

    private final Optional setEnvFile;

    private final List imagesOptions;

    private Value(@AutoMatter.Field("volume") Optional> volume, @AutoMatter.Field("mount") Optional> mount, @AutoMatter.Field("podManifest") Optional podManifest, @AutoMatter.Field("setEnv") Optional> setEnv, @AutoMatter.Field("setEnvFile") Optional setEnvFile, @AutoMatter.Field("imagesOptions") List imagesOptions) {
      if (volume == null) {
        throw new NullPointerException("volume");
      }
      if (mount == null) {
        throw new NullPointerException("mount");
      }
      if (podManifest == null) {
        throw new NullPointerException("podManifest");
      }
      if (setEnv == null) {
        throw new NullPointerException("setEnv");
      }
      if (setEnvFile == null) {
        throw new NullPointerException("setEnvFile");
      }
      this.volume = volume;
      this.mount = mount;
      this.podManifest = podManifest;
      this.setEnv = setEnv;
      this.setEnvFile = setEnvFile;
      this.imagesOptions = (imagesOptions != null) ? imagesOptions : Collections.emptyList();
    }

    @AutoMatter.Field
    @Override
    public Optional> volume() {
      return volume;
    }

    @AutoMatter.Field
    @Override
    public Optional> mount() {
      return mount;
    }

    @AutoMatter.Field
    @Override
    public Optional podManifest() {
      return podManifest;
    }

    @AutoMatter.Field
    @Override
    public Optional> setEnv() {
      return setEnv;
    }

    @AutoMatter.Field
    @Override
    public Optional setEnvFile() {
      return setEnvFile;
    }

    @AutoMatter.Field
    @Override
    public List imagesOptions() {
      return imagesOptions;
    }

    public PrepareOptionsBuilder builder() {
      return new PrepareOptionsBuilder(this);
    }

    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (!(o instanceof PrepareOptions)) {
        return false;
      }
      final PrepareOptions that = (PrepareOptions) o;
      if (volume != null ? !volume.equals(that.volume()) : that.volume() != null) {
        return false;
      }
      if (mount != null ? !mount.equals(that.mount()) : that.mount() != null) {
        return false;
      }
      if (podManifest != null ? !podManifest.equals(that.podManifest()) : that.podManifest() != null) {
        return false;
      }
      if (setEnv != null ? !setEnv.equals(that.setEnv()) : that.setEnv() != null) {
        return false;
      }
      if (setEnvFile != null ? !setEnvFile.equals(that.setEnvFile()) : that.setEnvFile() != null) {
        return false;
      }
      if (imagesOptions != null ? !imagesOptions.equals(that.imagesOptions()) : that.imagesOptions() != null) {
        return false;
      }
      return true;
    }

    @Override
    public int hashCode() {
      int result = 1;
      long temp;
      result = 31 * result + (volume != null ? volume.hashCode() : 0);
      result = 31 * result + (mount != null ? mount.hashCode() : 0);
      result = 31 * result + (podManifest != null ? podManifest.hashCode() : 0);
      result = 31 * result + (setEnv != null ? setEnv.hashCode() : 0);
      result = 31 * result + (setEnvFile != null ? setEnvFile.hashCode() : 0);
      result = 31 * result + (imagesOptions != null ? imagesOptions.hashCode() : 0);
      return result;
    }

    @Override
    public String toString() {
      return "PrepareOptions{" +
      "volume=" + volume +
      ", mount=" + mount +
      ", podManifest=" + podManifest +
      ", setEnv=" + setEnv +
      ", setEnvFile=" + setEnvFile +
      ", imagesOptions=" + imagesOptions +
      '}';
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy