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

com.algolia.model.analytics.TopHitWithAnalytics Maven / Gradle / Ivy

The newest version!
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost
// - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.

package com.algolia.model.analytics;

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.annotation.*;
import java.util.Objects;

/** TopHitWithAnalytics */
public class TopHitWithAnalytics {

  @JsonProperty("hit")
  private String hit;

  @JsonProperty("count")
  private Integer count;

  @JsonProperty("clickThroughRate")
  private Double clickThroughRate;

  @JsonProperty("conversionRate")
  private Double conversionRate;

  @JsonProperty("trackedHitCount")
  private Integer trackedHitCount;

  @JsonProperty("clickCount")
  private Integer clickCount;

  @JsonProperty("conversionCount")
  private Integer conversionCount;

  public TopHitWithAnalytics setHit(String hit) {
    this.hit = hit;
    return this;
  }

  /** Object ID of a record that's returned as a search result. */
  @javax.annotation.Nonnull
  public String getHit() {
    return hit;
  }

  public TopHitWithAnalytics setCount(Integer count) {
    this.count = count;
    return this;
  }

  /** Number of occurrences. */
  @javax.annotation.Nonnull
  public Integer getCount() {
    return count;
  }

  public TopHitWithAnalytics setClickThroughRate(Double clickThroughRate) {
    this.clickThroughRate = clickThroughRate;
    return this;
  }

  /**
   * Click-through rate, calculated as number of tracked searches with at least one click event
   * divided by the number of tracked searches. If null, Algolia didn't receive any search requests
   * with `clickAnalytics` set to true. minimum: 0 maximum: 1
   */
  @javax.annotation.Nullable
  public Double getClickThroughRate() {
    return clickThroughRate;
  }

  public TopHitWithAnalytics setConversionRate(Double conversionRate) {
    this.conversionRate = conversionRate;
    return this;
  }

  /**
   * Conversion rate, calculated as number of tracked searches with at least one conversion event
   * divided by the number of tracked searches. If null, Algolia didn't receive any search requests
   * with `clickAnalytics` set to true. minimum: 0 maximum: 1
   */
  @javax.annotation.Nullable
  public Double getConversionRate() {
    return conversionRate;
  }

  public TopHitWithAnalytics setTrackedHitCount(Integer trackedHitCount) {
    this.trackedHitCount = trackedHitCount;
    return this;
  }

  /**
   * Number of tracked searches. Tracked searches are search requests where the `clickAnalytics`
   * parameter is true.
   */
  @javax.annotation.Nonnull
  public Integer getTrackedHitCount() {
    return trackedHitCount;
  }

  public TopHitWithAnalytics setClickCount(Integer clickCount) {
    this.clickCount = clickCount;
    return this;
  }

  /** Number of clicks associated with this search. minimum: 0 */
  @javax.annotation.Nonnull
  public Integer getClickCount() {
    return clickCount;
  }

  public TopHitWithAnalytics setConversionCount(Integer conversionCount) {
    this.conversionCount = conversionCount;
    return this;
  }

  /** Number of conversions from this search. minimum: 0 */
  @javax.annotation.Nonnull
  public Integer getConversionCount() {
    return conversionCount;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    TopHitWithAnalytics topHitWithAnalytics = (TopHitWithAnalytics) o;
    return (
      Objects.equals(this.hit, topHitWithAnalytics.hit) &&
      Objects.equals(this.count, topHitWithAnalytics.count) &&
      Objects.equals(this.clickThroughRate, topHitWithAnalytics.clickThroughRate) &&
      Objects.equals(this.conversionRate, topHitWithAnalytics.conversionRate) &&
      Objects.equals(this.trackedHitCount, topHitWithAnalytics.trackedHitCount) &&
      Objects.equals(this.clickCount, topHitWithAnalytics.clickCount) &&
      Objects.equals(this.conversionCount, topHitWithAnalytics.conversionCount)
    );
  }

  @Override
  public int hashCode() {
    return Objects.hash(hit, count, clickThroughRate, conversionRate, trackedHitCount, clickCount, conversionCount);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class TopHitWithAnalytics {\n");
    sb.append("    hit: ").append(toIndentedString(hit)).append("\n");
    sb.append("    count: ").append(toIndentedString(count)).append("\n");
    sb.append("    clickThroughRate: ").append(toIndentedString(clickThroughRate)).append("\n");
    sb.append("    conversionRate: ").append(toIndentedString(conversionRate)).append("\n");
    sb.append("    trackedHitCount: ").append(toIndentedString(trackedHitCount)).append("\n");
    sb.append("    clickCount: ").append(toIndentedString(clickCount)).append("\n");
    sb.append("    conversionCount: ").append(toIndentedString(conversionCount)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy