All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.cloud.tools.opensource.classpath.AutoValue_ClassSymbolReference Maven / Gradle / Ivy



package com.google.cloud.tools.opensource.classpath;

import javax.annotation.Generated;

@Generated("com.google.auto.value.processor.AutoValueProcessor")
final class AutoValue_ClassSymbolReference extends ClassSymbolReference {

  private final String sourceClassName;

  private final String targetClassName;

  private final boolean subclass;

  private AutoValue_ClassSymbolReference(
      String sourceClassName,
      String targetClassName,
      boolean subclass) {
    this.sourceClassName = sourceClassName;
    this.targetClassName = targetClassName;
    this.subclass = subclass;
  }

  @Override
  public String getSourceClassName() {
    return sourceClassName;
  }

  @Override
  public String getTargetClassName() {
    return targetClassName;
  }

  @Override
  boolean isSubclass() {
    return subclass;
  }

  @Override
  public String toString() {
    return "ClassSymbolReference{"
         + "sourceClassName=" + sourceClassName + ", "
         + "targetClassName=" + targetClassName + ", "
         + "subclass=" + subclass
        + "}";
  }

  @Override
  public boolean equals(Object o) {
    if (o == this) {
      return true;
    }
    if (o instanceof ClassSymbolReference) {
      ClassSymbolReference that = (ClassSymbolReference) o;
      return (this.sourceClassName.equals(that.getSourceClassName()))
           && (this.targetClassName.equals(that.getTargetClassName()))
           && (this.subclass == that.isSubclass());
    }
    return false;
  }

  @Override
  public int hashCode() {
    int h$ = 1;
    h$ *= 1000003;
    h$ ^= sourceClassName.hashCode();
    h$ *= 1000003;
    h$ ^= targetClassName.hashCode();
    h$ *= 1000003;
    h$ ^= subclass ? 1231 : 1237;
    return h$;
  }

  static final class Builder extends ClassSymbolReference.Builder {
    private String sourceClassName;
    private String targetClassName;
    private Boolean subclass;
    Builder() {
    }
    @Override
    ClassSymbolReference.Builder setSourceClassName(String sourceClassName) {
      if (sourceClassName == null) {
        throw new NullPointerException("Null sourceClassName");
      }
      this.sourceClassName = sourceClassName;
      return this;
    }
    @Override
    ClassSymbolReference.Builder setTargetClassName(String targetClassName) {
      if (targetClassName == null) {
        throw new NullPointerException("Null targetClassName");
      }
      this.targetClassName = targetClassName;
      return this;
    }
    @Override
    ClassSymbolReference.Builder setSubclass(boolean subclass) {
      this.subclass = subclass;
      return this;
    }
    @Override
    ClassSymbolReference build() {
      String missing = "";
      if (this.sourceClassName == null) {
        missing += " sourceClassName";
      }
      if (this.targetClassName == null) {
        missing += " targetClassName";
      }
      if (this.subclass == null) {
        missing += " subclass";
      }
      if (!missing.isEmpty()) {
        throw new IllegalStateException("Missing required properties:" + missing);
      }
      return new AutoValue_ClassSymbolReference(
          this.sourceClassName,
          this.targetClassName,
          this.subclass);
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy