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