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