DefaultNotification.java
/*
* DefaultNotification
*/
package gov.usgs.earthquake.distribution;
import gov.usgs.earthquake.product.ProductId;
import java.util.Date;
/**
* A DefaultNotification is a implementation of the Notification interface. No
* location information is stored about products, and must be tracked
* separately.
*/
public class DefaultNotification implements Notification {
/** The product that is available. */
private final ProductId id;
/** How long the product is available. */
private final Date expirationDate;
/**
* Construct a DefaultNotification.
*
* @param id the product that is available.
* @param expirationDate how long the product is available.
*/
public DefaultNotification(final ProductId id, final Date expirationDate) {
this.id = id;
this.expirationDate = expirationDate;
}
/**
* @return how long the product is available.
*/
public Date getExpirationDate() {
return expirationDate;
}
/**
* @return which product is available.
*/
public ProductId getProductId() {
return id;
}
/** A comparison method to see if two notifications are equal. */
public boolean equals(Notification that) {
return (that instanceof DefaultNotification && getExpirationDate().equals(that.getExpirationDate())
&& getProductId().equals(that.getProductId()));
}
}