code: /*
   * lakeFS API
   * lakeFS HTTP API
   *
   * The version of the OpenAPI document: 0.1.0
   * 
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   */
  
  
  package io.lakefs.clients.api.model;
  
  import java.util.Objects;
  import java.util.Arrays;
  import com.google.gson.TypeAdapter;
  import com.google.gson.annotations.JsonAdapter;
  import com.google.gson.annotations.SerializedName;
  import com.google.gson.stream.JsonReader;
  import com.google.gson.stream.JsonWriter;
  import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  
  /**
   * Commit
   */
  @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
  public class Commit {
    public static final String SERIALIZED_NAME_ID = "id";
    @SerializedName(SERIALIZED_NAME_ID)
    private String id;
  
    public static final String SERIALIZED_NAME_PARENTS = "parents";
    @SerializedName(SERIALIZED_NAME_PARENTS)
    private List<String> parents = new ArrayList<String>();
  
    public static final String SERIALIZED_NAME_COMMITTER = "committer";
    @SerializedName(SERIALIZED_NAME_COMMITTER)
    private String committer;
  
    public static final String SERIALIZED_NAME_MESSAGE = "message";
    @SerializedName(SERIALIZED_NAME_MESSAGE)
    private String message;
  
    public static final String SERIALIZED_NAME_CREATION_DATE = "creation_date";
    @SerializedName(SERIALIZED_NAME_CREATION_DATE)
    private Long creationDate;
  
    public static final String SERIALIZED_NAME_META_RANGE_ID = "meta_range_id";
    @SerializedName(SERIALIZED_NAME_META_RANGE_ID)
    private String metaRangeId;
  
    public static final String SERIALIZED_NAME_METADATA = "metadata";
    @SerializedName(SERIALIZED_NAME_METADATA)
    private Map<String, String> metadata = null;
  
  
    public Commit id(String id) {
      
      this.id = id;
      return this;
    }
  
     /**
     * Get id
     * @return id
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "")
  
    public String getId() {
      return id;
    }
  
  
    public void setId(String id) {
      this.id = id;
    }
  
  
    public Commit parents(List<String> parents) {
      
      this.parents = parents;
      return this;
    }
  
    public Commit addParentsItem(String parentsItem) {
      this.parents.add(parentsItem);
      return this;
    }
  
     /**
     * Get parents
     * @return parents
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "")
  
    public List<String> getParents() {
      return parents;
    }
  
  
    public void setParents(List<String> parents) {
      this.parents = parents;
    }
  
  
    public Commit committer(String committer) {
      
      this.committer = committer;
      return this;
    }
  
     /**
     * Get committer
     * @return committer
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "")
  
    public String getCommitter() {
      return committer;
    }
  
  
    public void setCommitter(String committer) {
      this.committer = committer;
    }
  
  
    public Commit message(String message) {
      
      this.message = message;
      return this;
    }
  
     /**
     * Get message
     * @return message
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "")
  
    public String getMessage() {
      return message;
    }
  
  
    public void setMessage(String message) {
      this.message = message;
    }
  
  
    public Commit creationDate(Long creationDate) {
      
      this.creationDate = creationDate;
      return this;
    }
  
     /**
     * Unix Epoch in seconds
     * @return creationDate
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "Unix Epoch in seconds")
  
    public Long getCreationDate() {
      return creationDate;
    }
  
  
    public void setCreationDate(Long creationDate) {
      this.creationDate = creationDate;
    }
  
  
    public Commit metaRangeId(String metaRangeId) {
      
      this.metaRangeId = metaRangeId;
      return this;
    }
  
     /**
     * Get metaRangeId
     * @return metaRangeId
    **/
    @javax.annotation.Nonnull
    @ApiModelProperty(required = true, value = "")
  
    public String getMetaRangeId() {
      return metaRangeId;
    }
  
  
    public void setMetaRangeId(String metaRangeId) {
      this.metaRangeId = metaRangeId;
    }
  
  
    public Commit metadata(Map<String, String> metadata) {
      
      this.metadata = metadata;
      return this;
    }
  
    public Commit putMetadataItem(String key, String metadataItem) {
      if (this.metadata == null) {
        this.metadata = new HashMap<String, String>();
      }
      this.metadata.put(key, metadataItem);
      return this;
    }
  
     /**
     * Get metadata
     * @return metadata
    **/
    @javax.annotation.Nullable
    @ApiModelProperty(value = "")
  
    public Map<String, String> getMetadata() {
      return metadata;
    }
  
  
    public void setMetadata(Map<String, String> metadata) {
      this.metadata = metadata;
    }
  
  
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      Commit commit = (Commit) o;
      return Objects.equals(this.id, commit.id) &&
          Objects.equals(this.parents, commit.parents) &&
          Objects.equals(this.committer, commit.committer) &&
          Objects.equals(this.message, commit.message) &&
          Objects.equals(this.creationDate, commit.creationDate) &&
          Objects.equals(this.metaRangeId, commit.metaRangeId) &&
          Objects.equals(this.metadata, commit.metadata);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(id, parents, committer, message, creationDate, metaRangeId, metadata);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class Commit {\n");
      sb.append("    id: ").append(toIndentedString(id)).append("\n");
      sb.append("    parents: ").append(toIndentedString(parents)).append("\n");
      sb.append("    committer: ").append(toIndentedString(committer)).append("\n");
      sb.append("    message: ").append(toIndentedString(message)).append("\n");
      sb.append("    creationDate: ").append(toIndentedString(creationDate)).append("\n");
      sb.append("    metaRangeId: ").append(toIndentedString(metaRangeId)).append("\n");
      sb.append("    metadata: ").append(toIndentedString(metadata)).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    ");
    }
  
  }
  
  