com.spotify.missinglink.datamodel.DeclaredMethodBuilder Maven / Gradle / Ivy
The newest version!
package com.spotify.missinglink.datamodel;
import com.google.common.collect.ImmutableSet;
import io.norberg.automatter.AutoMatter;
import javax.annotation.Generated;
@Generated("io.norberg.automatter.processor.AutoMatterProcessor")
public final class DeclaredMethodBuilder {
private MethodDescriptor descriptor;
private ImmutableSet methodCalls;
private ImmutableSet fieldAccesses;
public DeclaredMethodBuilder() {
}
private DeclaredMethodBuilder(DeclaredMethod v) {
this.descriptor = v.descriptor();
this.methodCalls = v.methodCalls();
this.fieldAccesses = v.fieldAccesses();
}
private DeclaredMethodBuilder(DeclaredMethodBuilder v) {
this.descriptor = v.descriptor;
this.methodCalls = v.methodCalls;
this.fieldAccesses = v.fieldAccesses;
}
public MethodDescriptor descriptor() {
return descriptor;
}
public DeclaredMethodBuilder descriptor(MethodDescriptor descriptor) {
if (descriptor == null) {
throw new NullPointerException("descriptor");
}
this.descriptor = descriptor;
return this;
}
public ImmutableSet methodCalls() {
return methodCalls;
}
public DeclaredMethodBuilder methodCalls(ImmutableSet methodCalls) {
if (methodCalls == null) {
throw new NullPointerException("methodCalls");
}
this.methodCalls = methodCalls;
return this;
}
public ImmutableSet fieldAccesses() {
return fieldAccesses;
}
public DeclaredMethodBuilder fieldAccesses(ImmutableSet fieldAccesses) {
if (fieldAccesses == null) {
throw new NullPointerException("fieldAccesses");
}
this.fieldAccesses = fieldAccesses;
return this;
}
public DeclaredMethod build() {
return new Value(descriptor, methodCalls, fieldAccesses);
}
public static DeclaredMethodBuilder from(DeclaredMethod v) {
return new DeclaredMethodBuilder(v);
}
public static DeclaredMethodBuilder from(DeclaredMethodBuilder v) {
return new DeclaredMethodBuilder(v);
}
private static final class Value implements DeclaredMethod {
private final MethodDescriptor descriptor;
private final ImmutableSet methodCalls;
private final ImmutableSet fieldAccesses;
private Value(@AutoMatter.Field("descriptor") MethodDescriptor descriptor, @AutoMatter.Field("methodCalls") ImmutableSet methodCalls, @AutoMatter.Field("fieldAccesses") ImmutableSet fieldAccesses) {
if (descriptor == null) {
throw new NullPointerException("descriptor");
}
if (methodCalls == null) {
throw new NullPointerException("methodCalls");
}
if (fieldAccesses == null) {
throw new NullPointerException("fieldAccesses");
}
this.descriptor = descriptor;
this.methodCalls = methodCalls;
this.fieldAccesses = fieldAccesses;
}
@AutoMatter.Field
@Override
public MethodDescriptor descriptor() {
return descriptor;
}
@AutoMatter.Field
@Override
public ImmutableSet methodCalls() {
return methodCalls;
}
@AutoMatter.Field
@Override
public ImmutableSet fieldAccesses() {
return fieldAccesses;
}
public DeclaredMethodBuilder builder() {
return new DeclaredMethodBuilder(this);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof DeclaredMethod)) {
return false;
}
final DeclaredMethod that = (DeclaredMethod) o;
if (descriptor != null ? !descriptor.equals(that.descriptor()) : that.descriptor() != null) {
return false;
}
if (methodCalls != null ? !methodCalls.equals(that.methodCalls()) : that.methodCalls() != null) {
return false;
}
if (fieldAccesses != null ? !fieldAccesses.equals(that.fieldAccesses()) : that.fieldAccesses() != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = 1;
long temp;
result = 31 * result + (descriptor != null ? descriptor.hashCode() : 0);
result = 31 * result + (methodCalls != null ? methodCalls.hashCode() : 0);
result = 31 * result + (fieldAccesses != null ? fieldAccesses.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "DeclaredMethod{" +
"descriptor=" + descriptor +
", methodCalls=" + methodCalls +
", fieldAccesses=" + fieldAccesses +
'}';
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy