com.spotify.missinglink.datamodel.FieldDependencyBuilder 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 FieldDependencyBuilder {
private ClassTypeDescriptor fromClass;
private MethodDescriptor fromMethod;
private int fromLineNumber;
private ClassTypeDescriptor targetClass;
private TypeDescriptor fieldType;
private String fieldName;
public FieldDependencyBuilder() {
}
private FieldDependencyBuilder(FieldDependency v) {
this.fromClass = v.fromClass();
this.fromMethod = v.fromMethod();
this.fromLineNumber = v.fromLineNumber();
this.targetClass = v.targetClass();
this.fieldType = v.fieldType();
this.fieldName = v.fieldName();
}
private FieldDependencyBuilder(FieldDependencyBuilder v) {
this.fromClass = v.fromClass;
this.fromMethod = v.fromMethod;
this.fromLineNumber = v.fromLineNumber;
this.targetClass = v.targetClass;
this.fieldType = v.fieldType;
this.fieldName = v.fieldName;
}
public ClassTypeDescriptor fromClass() {
return fromClass;
}
public FieldDependencyBuilder fromClass(ClassTypeDescriptor fromClass) {
if (fromClass == null) {
throw new NullPointerException("fromClass");
}
this.fromClass = fromClass;
return this;
}
public MethodDescriptor fromMethod() {
return fromMethod;
}
public FieldDependencyBuilder fromMethod(MethodDescriptor fromMethod) {
if (fromMethod == null) {
throw new NullPointerException("fromMethod");
}
this.fromMethod = fromMethod;
return this;
}
public int fromLineNumber() {
return fromLineNumber;
}
public FieldDependencyBuilder fromLineNumber(int fromLineNumber) {
this.fromLineNumber = fromLineNumber;
return this;
}
public ClassTypeDescriptor targetClass() {
return targetClass;
}
public FieldDependencyBuilder targetClass(ClassTypeDescriptor targetClass) {
if (targetClass == null) {
throw new NullPointerException("targetClass");
}
this.targetClass = targetClass;
return this;
}
public TypeDescriptor fieldType() {
return fieldType;
}
public FieldDependencyBuilder fieldType(TypeDescriptor fieldType) {
if (fieldType == null) {
throw new NullPointerException("fieldType");
}
this.fieldType = fieldType;
return this;
}
public String fieldName() {
return fieldName;
}
public FieldDependencyBuilder fieldName(String fieldName) {
if (fieldName == null) {
throw new NullPointerException("fieldName");
}
this.fieldName = fieldName;
return this;
}
public FieldDependency build() {
return new Value(fromClass, fromMethod, fromLineNumber, targetClass, fieldType, fieldName);
}
public static FieldDependencyBuilder from(FieldDependency v) {
return new FieldDependencyBuilder(v);
}
public static FieldDependencyBuilder from(FieldDependencyBuilder v) {
return new FieldDependencyBuilder(v);
}
private static final class Value implements FieldDependency {
private final ClassTypeDescriptor fromClass;
private final MethodDescriptor fromMethod;
private final int fromLineNumber;
private final ClassTypeDescriptor targetClass;
private final TypeDescriptor fieldType;
private final String fieldName;
private Value(@AutoMatter.Field("fromClass") ClassTypeDescriptor fromClass, @AutoMatter.Field("fromMethod") MethodDescriptor fromMethod, @AutoMatter.Field("fromLineNumber") int fromLineNumber, @AutoMatter.Field("targetClass") ClassTypeDescriptor targetClass, @AutoMatter.Field("fieldType") TypeDescriptor fieldType, @AutoMatter.Field("fieldName") String fieldName) {
if (fromClass == null) {
throw new NullPointerException("fromClass");
}
if (fromMethod == null) {
throw new NullPointerException("fromMethod");
}
if (targetClass == null) {
throw new NullPointerException("targetClass");
}
if (fieldType == null) {
throw new NullPointerException("fieldType");
}
if (fieldName == null) {
throw new NullPointerException("fieldName");
}
this.fromClass = fromClass;
this.fromMethod = fromMethod;
this.fromLineNumber = fromLineNumber;
this.targetClass = targetClass;
this.fieldType = fieldType;
this.fieldName = fieldName;
}
@AutoMatter.Field
@Override
public ClassTypeDescriptor fromClass() {
return fromClass;
}
@AutoMatter.Field
@Override
public MethodDescriptor fromMethod() {
return fromMethod;
}
@AutoMatter.Field
@Override
public int fromLineNumber() {
return fromLineNumber;
}
@AutoMatter.Field
@Override
public ClassTypeDescriptor targetClass() {
return targetClass;
}
@AutoMatter.Field
@Override
public TypeDescriptor fieldType() {
return fieldType;
}
@AutoMatter.Field
@Override
public String fieldName() {
return fieldName;
}
public FieldDependencyBuilder builder() {
return new FieldDependencyBuilder(this);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof FieldDependency)) {
return false;
}
final FieldDependency that = (FieldDependency) o;
if (fromClass != null ? !fromClass.equals(that.fromClass()) : that.fromClass() != null) {
return false;
}
if (fromMethod != null ? !fromMethod.equals(that.fromMethod()) : that.fromMethod() != null) {
return false;
}
if (fromLineNumber != that.fromLineNumber()) {
return false;
}
if (targetClass != null ? !targetClass.equals(that.targetClass()) : that.targetClass() != null) {
return false;
}
if (fieldType != null ? !fieldType.equals(that.fieldType()) : that.fieldType() != null) {
return false;
}
if (fieldName != null ? !fieldName.equals(that.fieldName()) : that.fieldName() != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = 1;
long temp;
result = 31 * result + (fromClass != null ? fromClass.hashCode() : 0);
result = 31 * result + (fromMethod != null ? fromMethod.hashCode() : 0);
result = 31 * result + fromLineNumber;
result = 31 * result + (targetClass != null ? targetClass.hashCode() : 0);
result = 31 * result + (fieldType != null ? fieldType.hashCode() : 0);
result = 31 * result + (fieldName != null ? fieldName.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "FieldDependency{" +
"fromClass=" + fromClass +
", fromMethod=" + fromMethod +
", fromLineNumber=" + fromLineNumber +
", targetClass=" + targetClass +
", fieldType=" + fieldType +
", fieldName=" + fieldName +
'}';
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy