ProductSignature.java

package gov.usgs.earthquake.product;

import gov.usgs.util.CryptoUtils.Version;

/*
 * Class for holding a product's signature and signature version. 
 * Used in Product signatureHistory.
 */
public class ProductSignature {

  /** Signature */
  private String signature = null;
  /** Signature version. */
  private Version signatureVersion;

  public ProductSignature(String signature, Version signatureVersion) {
    this.signature = signature;
    this.signatureVersion = signatureVersion;
  }

  @Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((signature == null) ? 0 : signature.hashCode());
    result = prime * result + ((signatureVersion == null) ? 0 : signatureVersion.hashCode());
    return result;
  }

  @Override
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;
    ProductSignature other = (ProductSignature) obj;
    if (signature == null) {
      if (other.signature != null)
        return false;
    } else if (!signature.equals(other.signature))
      return false;
    if (signatureVersion != other.signatureVersion)
      return false;
    return true;
  }

  /**
   * @return the signature
   */
  public String getSignature() {
    return this.signature;
  }

  /**
   * @return the signature version
   */
  public Version getSignatureVersion() {
    return signatureVersion;
  }

  /**
   * @param signature the signature to set
   */
  public void setSignature(final String signature) {
    this.signature = signature;
  }

  /**
   * @param version the signature version to set
   */
  public void setSignatureVersion(final Version version) {
    this.signatureVersion = version;
  }
}