@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.storagebatchoperations.v1.Job)) {
      return super.equals(obj);
    }
    com.google.cloud.storagebatchoperations.v1.Job other =
        (com.google.cloud.storagebatchoperations.v1.Job) obj;

    if (!getName().equals(other.getName())) return false;
    if (!getDescription().equals(other.getDescription())) return false;
    if (hasLoggingConfig() != other.hasLoggingConfig()) return false;
    if (hasLoggingConfig()) {
      if (!getLoggingConfig().equals(other.getLoggingConfig())) return false;
    }
    if (hasCreateTime() != other.hasCreateTime()) return false;
    if (hasCreateTime()) {
      if (!getCreateTime().equals(other.getCreateTime())) return false;
    }
    if (hasScheduleTime() != other.hasScheduleTime()) return false;
    if (hasScheduleTime()) {
      if (!getScheduleTime().equals(other.getScheduleTime())) return false;
    }
    if (hasCompleteTime() != other.hasCompleteTime()) return false;
    if (hasCompleteTime()) {
      if (!getCompleteTime().equals(other.getCompleteTime())) return false;
    }
    if (hasCounters() != other.hasCounters()) return false;
    if (hasCounters()) {
      if (!getCounters().equals(other.getCounters())) return false;
    }
    if (!getErrorSummariesList().equals(other.getErrorSummariesList())) return false;
    if (state_ != other.state_) return false;
    if (!getSourceCase().equals(other.getSourceCase())) return false;
    switch (sourceCase_) {
      case 19:
        if (!getBucketList().equals(other.getBucketList())) return false;
        break;
      case 0:
      default:
    }
    if (!getTransformationCase().equals(other.getTransformationCase())) return false;
    switch (transformationCase_) {
      case 5:
        if (!getPutObjectHold().equals(other.getPutObjectHold())) return false;
        break;
      case 6:
        if (!getDeleteObject().equals(other.getDeleteObject())) return false;
        break;
      case 8:
        if (!getPutMetadata().equals(other.getPutMetadata())) return false;
        break;
      case 20:
        if (!getRewriteObject().equals(other.getRewriteObject())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Output only. State of the job.
</pre>

<code>
.google.cloud.storagebatchoperations.v1.Job.State state = 15 [(.google.api.field_behavior) = OUTPUT_ONLY];
</code>

@return The state.
java-storagebatchoperations/proto-google-cloud-storagebatchoperations-v1/src/main/java/com/google/cloud/storagebatchoperations/v1/Job.java