// Copyright © 2015 HSL <https://www.hsl.fi> // This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses. package fi.hsl.parkandride.core.domain; import com.google.common.base.MoreObjects; import javax.validation.constraints.NotNull; import java.util.Objects; public class UtilizationKey { @NotNull public Long facilityId; @NotNull public CapacityType capacityType; @NotNull public Usage usage; public UtilizationKey(Long facilityId, CapacityType capacityType, Usage usage) { this.facilityId = facilityId; this.capacityType = capacityType; this.usage = usage; } public UtilizationKey() { } @Override public boolean equals(Object obj) { if (!(obj instanceof UtilizationKey)) { return false; } UtilizationKey that = (UtilizationKey) obj; return Objects.equals(this.facilityId, that.facilityId) && Objects.equals(this.capacityType, that.capacityType) && Objects.equals(this.usage, that.usage); } @Override public int hashCode() { return Objects.hash(facilityId, capacityType, usage); } @Override public String toString() { return MoreObjects.toStringHelper(this) .add("facilityId", facilityId) .add("capacityType", capacityType) .add("usage", usage) .toString(); } }