io.honnix.rkt.launcher.options.image.RmOptionsBuilder Maven / Gradle / Ivy
package io.honnix.rkt.launcher.options.image;
import io.norberg.automatter.AutoMatter;
import java.util.Optional;
import javax.annotation.Generated;
@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class RmOptionsBuilder {
private Optional uuidFile;
public RmOptionsBuilder() {
this.uuidFile = Optional.empty();
}
private RmOptionsBuilder(RmOptions v) {
this.uuidFile = v.uuidFile();
}
private RmOptionsBuilder(RmOptionsBuilder v) {
this.uuidFile = v.uuidFile;
}
public Optional uuidFile() {
return uuidFile;
}
public RmOptionsBuilder uuidFile(String uuidFile) {
return uuidFile(Optional.ofNullable(uuidFile));
}
@SuppressWarnings("unchecked")
public RmOptionsBuilder uuidFile(Optional extends String> uuidFile) {
if (uuidFile == null) {
throw new NullPointerException("uuidFile");
}
this.uuidFile = (Optional)uuidFile;
return this;
}
public RmOptions build() {
return new Value(uuidFile);
}
public static RmOptionsBuilder from(RmOptions v) {
return new RmOptionsBuilder(v);
}
public static RmOptionsBuilder from(RmOptionsBuilder v) {
return new RmOptionsBuilder(v);
}
private static final class Value implements RmOptions {
private final Optional uuidFile;
private Value(@AutoMatter.Field("uuidFile") Optional uuidFile) {
if (uuidFile == null) {
throw new NullPointerException("uuidFile");
}
this.uuidFile = uuidFile;
}
@AutoMatter.Field
@Override
public Optional uuidFile() {
return uuidFile;
}
public RmOptionsBuilder builder() {
return new RmOptionsBuilder(this);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof RmOptions)) {
return false;
}
final RmOptions that = (RmOptions) o;
if (uuidFile != null ? !uuidFile.equals(that.uuidFile()) : that.uuidFile() != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = 1;
long temp;
result = 31 * result + (uuidFile != null ? uuidFile.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "RmOptions{" +
"uuidFile=" + uuidFile +
'}';
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy