com.spotify.missinglink.datamodel.ArtifactBuilder Maven / Gradle / Ivy
The newest version!
package com.spotify.missinglink.datamodel;
import com.google.common.collect.ImmutableMap;
import io.norberg.automatter.AutoMatter;
import javax.annotation.Generated;
@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class ArtifactBuilder {
private ArtifactName name;
private ImmutableMap classes;
public ArtifactBuilder() {
}
private ArtifactBuilder(Artifact v) {
this.name = v.name();
this.classes = v.classes();
}
private ArtifactBuilder(ArtifactBuilder v) {
this.name = v.name;
this.classes = v.classes;
}
public ArtifactName name() {
return name;
}
public ArtifactBuilder name(ArtifactName name) {
if (name == null) {
throw new NullPointerException("name");
}
this.name = name;
return this;
}
public ImmutableMap classes() {
return classes;
}
public ArtifactBuilder classes(ImmutableMap classes) {
if (classes == null) {
throw new NullPointerException("classes");
}
this.classes = classes;
return this;
}
public Artifact build() {
return new Value(name, classes);
}
public static ArtifactBuilder from(Artifact v) {
return new ArtifactBuilder(v);
}
public static ArtifactBuilder from(ArtifactBuilder v) {
return new ArtifactBuilder(v);
}
private static final class Value implements Artifact {
private final ArtifactName name;
private final ImmutableMap classes;
private Value(@AutoMatter.Field("name") ArtifactName name, @AutoMatter.Field("classes") ImmutableMap classes) {
if (name == null) {
throw new NullPointerException("name");
}
if (classes == null) {
throw new NullPointerException("classes");
}
this.name = name;
this.classes = classes;
}
@AutoMatter.Field
@Override
public ArtifactName name() {
return name;
}
@AutoMatter.Field
@Override
public ImmutableMap classes() {
return classes;
}
public ArtifactBuilder builder() {
return new ArtifactBuilder(this);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Artifact)) {
return false;
}
final Artifact that = (Artifact) o;
if (name != null ? !name.equals(that.name()) : that.name() != null) {
return false;
}
if (classes != null ? !classes.equals(that.classes()) : that.classes() != 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 + (classes != null ? classes.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "Artifact{" +
"name=" + name +
", classes=" + classes +
'}';
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy