package gov.nysenate.openleg.model.hearing; import com.google.common.collect.ComparisonChain; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; /** * Uniquely identifies public hearing objects. */ public class PublicHearingId implements Serializable, Comparable<PublicHearingId> { private static final long serialVersionUID = -1772963995918679372L; /** The public hearing's file name */ private String fileName; /** --- Constructors --- */ public PublicHearingId(String fileName) { this.fileName = fileName; } /** --- Overrides --- */ @Override public int compareTo(PublicHearingId o) { return ComparisonChain.start() .compare(this.fileName, o.getFileName()) .result(); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PublicHearingId hearingId = (PublicHearingId) o; if (fileName != null ? !fileName.equals(hearingId.fileName) : hearingId.fileName != null) return false; return true; } @Override public int hashCode() { return fileName != null ? fileName.hashCode() : 0; } /** --- Basic Getters/Setters --- */ public String getFileName() { return fileName; } }