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