/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE file at the root of the source * tree and available online at * * https://github.com/keeps/roda */ package org.roda.core.data.v2.ip.metadata; import java.io.Serializable; /** * @author Rui Castro */ public class Fixity implements Serializable { private static final long serialVersionUID = 5643738632324867731L; private String messageDigestAlgorithm = null; private String messageDigest = null; private String messageDigestOriginator = null; /** * Constructs a new {@link Fixity}. */ public Fixity() { // do nothing } /** * Constructs a new {@link Fixity} cloning an existing {@link Fixity}. * * @param fixity */ public Fixity(Fixity fixity) { this(fixity.getMessageDigest(), fixity.getMessageDigestAlgorithm(), fixity.getMessageDigestOriginator()); } /** * Constructs a new {@link Fixity} with the given parameters. * * @param messageDigestAlgorithm * @param messageDigest * @param messageDigestOriginator * */ public Fixity(String messageDigestAlgorithm, String messageDigest, String messageDigestOriginator) { setMessageDigestAlgorithm(messageDigestAlgorithm); setMessageDigest(messageDigest); setMessageDigestOriginator(messageDigestOriginator); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((messageDigest == null) ? 0 : messageDigest.hashCode()); result = prime * result + ((messageDigestAlgorithm == null) ? 0 : messageDigestAlgorithm.hashCode()); result = prime * result + ((messageDigestOriginator == null) ? 0 : messageDigestOriginator.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Fixity)) { return false; } Fixity other = (Fixity) obj; if (messageDigest == null) { if (other.messageDigest != null) { return false; } } else if (!messageDigest.equals(other.messageDigest)) { return false; } if (messageDigestAlgorithm == null) { if (other.messageDigestAlgorithm != null) { return false; } } else if (!messageDigestAlgorithm.equals(other.messageDigestAlgorithm)) { return false; } if (messageDigestOriginator == null) { if (other.messageDigestOriginator != null) { return false; } } else if (!messageDigestOriginator.equals(other.messageDigestOriginator)) { return false; } return true; } /** * @return a {@link String} with this object's info. * @see Object#toString() */ @Override public String toString() { return "Fixity(messageDigestAlgorithm=" + getMessageDigestAlgorithm() + ", messageDigest" + getMessageDigest() + ", messageDigestOriginator" + getMessageDigestOriginator() + ")"; } /** * @return the messageDigestAlgorithm */ public String getMessageDigestAlgorithm() { return messageDigestAlgorithm; } /** * @param messageDigestAlgorithm * the messageDigestAlgorithm to set */ public void setMessageDigestAlgorithm(String messageDigestAlgorithm) { this.messageDigestAlgorithm = messageDigestAlgorithm; } /** * @return the messageDigest */ public String getMessageDigest() { return messageDigest; } /** * @param messageDigest * the messageDigest to set */ public void setMessageDigest(String messageDigest) { this.messageDigest = messageDigest; } /** * @return the messageDigestOriginator */ public String getMessageDigestOriginator() { return messageDigestOriginator; } /** * @param messageDigestOriginator * the messageDigestOriginator to set */ public void setMessageDigestOriginator(String messageDigestOriginator) { this.messageDigestOriginator = messageDigestOriginator; } }