package gov.nysenate.openleg.model.transcript; import com.google.common.collect.ComparisonChain; import java.io.Serializable; import java.time.LocalDateTime; /** * Used to uniquely identify transcripts. */ public class TranscriptId implements Serializable, Comparable<TranscriptId> { private static final long serialVersionUID = -6509878885942142022L; /** The filename which contains the transcript. */ private String filename; /** --- Constructors --- */ public TranscriptId(String filename) { this.filename = filename; } /** --- Overrides --- */ @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; TranscriptId that = (TranscriptId) o; if (filename != null ? !filename.equals(that.filename) : that.filename != null) return false; return true; } @Override public int hashCode() { return filename != null ? filename.hashCode() : 0; } @Override public int compareTo(TranscriptId o) { return ComparisonChain.start() .compare(this.filename, o.filename) .result(); } @Override public String toString() { return "Transcript: " + filename; } /** --- Basic Getters/Setters --- */ public String getFilename() { return filename; } }