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

com.hubspot.deploy.Artifact Maven / Gradle / Ivy

The newest version!
package com.hubspot.deploy;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.google.common.base.Optional;

@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class Artifact {

  private final String name;
  private final String filename;
  private final Optional md5sum;
  private final Optional targetFolderRelativeToTask;

  public Artifact(String name, String filename, Optional md5sum, Optional targetFolderRelativeToTask) {
    this.name = name;
    this.filename = filename;
    this.md5sum = md5sum;
    this.targetFolderRelativeToTask = targetFolderRelativeToTask;
  }

  public String getName() {
    return name;
  }

  public String getFilename() {
    return filename;
  }

  public Optional getMd5sum() {
    return md5sum;
  }

  public Optional getTargetFolderRelativeToTask() {
    return targetFolderRelativeToTask;
  }

  @Override
  public int hashCode() {
    return Objects.hash(name, filename, md5sum, targetFolderRelativeToTask);
  }

  @Override
  public boolean equals(Object other) {
    if (this == other) {
      return true;
    }
    if (other == null || other.getClass() != this.getClass()) {
      return false;
    }

    Artifact that = (Artifact) other;

    return Objects.equals(this.name, that.name)
        && Objects.equals(this.filename, that.filename)
        && Objects.equals(this.md5sum, that.md5sum)
        && Objects.equals(this.targetFolderRelativeToTask, that.targetFolderRelativeToTask);
  }

  @Override
  public String toString() {
    return "Artifact [name=" + name + ", filename=" + filename + ", md5sum=" + md5sum + ", targetFolderRelativeToTask=" + targetFolderRelativeToTask + "]";
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy