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

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

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

import io.norberg.automatter.AutoMatter;
import java.time.Duration;
import java.util.Optional;
import javax.annotation.Generated;

@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class StatusOptionsBuilder {
  private Optional waitTillFinish;

  private Optional waitTillReady;

  public StatusOptionsBuilder() {
    this.waitTillFinish = Optional.empty();
    this.waitTillReady = Optional.empty();
  }

  private StatusOptionsBuilder(StatusOptions v) {
    this.waitTillFinish = v.waitTillFinish();
    this.waitTillReady = v.waitTillReady();
  }

  private StatusOptionsBuilder(StatusOptionsBuilder v) {
    this.waitTillFinish = v.waitTillFinish;
    this.waitTillReady = v.waitTillReady;
  }

  public Optional waitTillFinish() {
    return waitTillFinish;
  }

  public StatusOptionsBuilder waitTillFinish(Duration waitTillFinish) {
    return waitTillFinish(Optional.ofNullable(waitTillFinish));
  }

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

  public Optional waitTillReady() {
    return waitTillReady;
  }

  public StatusOptionsBuilder waitTillReady(Duration waitTillReady) {
    return waitTillReady(Optional.ofNullable(waitTillReady));
  }

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

  public StatusOptions build() {
    return new Value(waitTillFinish, waitTillReady);
  }

  public static StatusOptionsBuilder from(StatusOptions v) {
    return new StatusOptionsBuilder(v);
  }

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

  private static final class Value implements StatusOptions {
    private final Optional waitTillFinish;

    private final Optional waitTillReady;

    private Value(@AutoMatter.Field("waitTillFinish") Optional waitTillFinish, @AutoMatter.Field("waitTillReady") Optional waitTillReady) {
      if (waitTillFinish == null) {
        throw new NullPointerException("waitTillFinish");
      }
      if (waitTillReady == null) {
        throw new NullPointerException("waitTillReady");
      }
      this.waitTillFinish = waitTillFinish;
      this.waitTillReady = waitTillReady;
    }

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

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

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

    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (!(o instanceof StatusOptions)) {
        return false;
      }
      final StatusOptions that = (StatusOptions) o;
      if (waitTillFinish != null ? !waitTillFinish.equals(that.waitTillFinish()) : that.waitTillFinish() != null) {
        return false;
      }
      if (waitTillReady != null ? !waitTillReady.equals(that.waitTillReady()) : that.waitTillReady() != null) {
        return false;
      }
      return true;
    }

    @Override
    public int hashCode() {
      int result = 1;
      long temp;
      result = 31 * result + (waitTillFinish != null ? waitTillFinish.hashCode() : 0);
      result = 31 * result + (waitTillReady != null ? waitTillReady.hashCode() : 0);
      return result;
    }

    @Override
    public String toString() {
      return "StatusOptions{" +
      "waitTillFinish=" + waitTillFinish +
      ", waitTillReady=" + waitTillReady +
      '}';
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy