// 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 java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import javax.validation.constraints.NotNull;
import org.joda.time.DateTime;
import com.google.common.base.MoreObjects;
public class UtilizationSearch {
@NotNull public Set<Long> facilityIds = new HashSet<>();
@NotNull public Set<CapacityType> capacityTypes = new HashSet<>();
@NotNull public Set<Usage> usages = new HashSet<>();
@NotNull public DateTime start;
@NotNull public DateTime end;
@Override
public boolean equals(Object obj) {
if (!(obj instanceof UtilizationSearch)) {
return false;
}
UtilizationSearch that = (UtilizationSearch) obj;
return Objects.equals(this.facilityIds, that.facilityIds)
&& Objects.equals(this.capacityTypes, that.capacityTypes)
&& Objects.equals(this.usages, that.usages);
}
@Override
public int hashCode() {
return Objects.hash(facilityIds, capacityTypes, usages);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("facilityId", facilityIds)
.add("capacityType", capacityTypes)
.add("usage", usages)
.toString();
}
}