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