/* * * This file is part of the Hesperides distribution. * * (https://github.com/voyages-sncf-technologies/hesperides) * * Copyright (c) 2016 VSCT. * * * * Hesperides is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as * * published by the Free Software Foundation, version 3. * * * * Hesperides is distributed in the hope that it will be useful, but * * WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package com.vsct.dt.hesperides.applications.properties; /** * Created by emeric_martineau on 19/01/2016. */ public class PropertiesTimelineKey { /** * Property key. */ private final PropertiesKey key; /** * Timestamp. */ private final long timestamp; /** * Constructor. * * @param key key * @param timestamp timestamp */ public PropertiesTimelineKey(final PropertiesKey key, final long timestamp) { this.key = key; this.timestamp = timestamp; } public PropertiesKey getKey() { return key; } public long getTimestamp() { return timestamp; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof PropertiesTimelineKey)) return false; PropertiesTimelineKey that = (PropertiesTimelineKey) o; if (timestamp != that.timestamp) return false; if (key != null ? !key.equals(that.key) : that.key != null) return false; return true; } @Override public int hashCode() { int result = key != null ? key.hashCode() : 0; result = 31 * result + (int) (timestamp ^ (timestamp >>> 32)); return result; } }