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

dev.cel.runtime.AutoValue_CelRuntime_CelFunctionBinding Maven / Gradle / Ivy

package dev.cel.runtime;

import com.google.common.collect.ImmutableList;
import org.jspecify.nullness.Nullable;

// Generated by com.google.auto.value.processor.AutoValueProcessor
final class AutoValue_CelRuntime_CelFunctionBinding extends CelRuntime.CelFunctionBinding {

  private final String overloadId;

  private final ImmutableList> argTypes;

  private final CelFunctionOverload definition;

  AutoValue_CelRuntime_CelFunctionBinding(
      String overloadId,
      ImmutableList> argTypes,
      CelFunctionOverload definition) {
    if (overloadId == null) {
      throw new NullPointerException("Null overloadId");
    }
    this.overloadId = overloadId;
    if (argTypes == null) {
      throw new NullPointerException("Null argTypes");
    }
    this.argTypes = argTypes;
    if (definition == null) {
      throw new NullPointerException("Null definition");
    }
    this.definition = definition;
  }

  @Override
  public String getOverloadId() {
    return overloadId;
  }

  @Override
  ImmutableList> getArgTypes() {
    return argTypes;
  }

  @Override
  CelFunctionOverload getDefinition() {
    return definition;
  }

  @Override
  public String toString() {
    return "CelFunctionBinding{"
        + "overloadId=" + overloadId + ", "
        + "argTypes=" + argTypes + ", "
        + "definition=" + definition
        + "}";
  }

  @Override
  public boolean equals(@Nullable Object o) {
    if (o == this) {
      return true;
    }
    if (o instanceof CelRuntime.CelFunctionBinding) {
      CelRuntime.CelFunctionBinding that = (CelRuntime.CelFunctionBinding) o;
      return this.overloadId.equals(that.getOverloadId())
          && this.argTypes.equals(that.getArgTypes())
          && this.definition.equals(that.getDefinition());
    }
    return false;
  }

  @Override
  public int hashCode() {
    int h$ = 1;
    h$ *= 1000003;
    h$ ^= overloadId.hashCode();
    h$ *= 1000003;
    h$ ^= argTypes.hashCode();
    h$ *= 1000003;
    h$ ^= definition.hashCode();
    return h$;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy