// 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.prediction;
import com.google.common.base.MoreObjects;
import org.joda.time.DateTime;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Objects;
public class Prediction {
@NotNull public final DateTime timestamp;
@Min(0) public final int spacesAvailable;
public Prediction(DateTime timestamp, int spacesAvailable) {
this.timestamp = timestamp;
this.spacesAvailable = spacesAvailable;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Prediction)) {
return false;
}
Prediction that = (Prediction) obj;
return Objects.equals(this.timestamp, that.timestamp)
&& Objects.equals(this.spacesAvailable, that.spacesAvailable);
}
@Override
public int hashCode() {
return Objects.hash(timestamp, spacesAvailable);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(getClass())
.addValue(timestamp)
.add("spacesAvailable", spacesAvailable)
.toString();
}
}