URLNotification.java
/*
* URLNotification
*/
package gov.usgs.earthquake.distribution;
import gov.usgs.earthquake.product.ProductId;
import java.net.URL;
import java.util.Date;
/**
* A URLNotification represents a product that is available via a URL.
*/
public class URLNotification extends DefaultNotification {
/** Location where product is available. */
private final URL productURL;
/**
* Construct a URLNotification.
*
* @param id
* which product is available.
* @param expirationDate
* how long the product is available.
* @param trackerURL
* where to send status updates.
* @param productURL
* where product is available.
*/
public URLNotification(ProductId id, Date expirationDate, URL trackerURL,
URL productURL) {
super(id, expirationDate, trackerURL);
this.productURL = productURL;
}
/**
* @return Location where this product can be downloaded.
*/
public URL getProductURL() {
return productURL;
}
/** A comparison method to see if two notifications are equal. */
public boolean equals(Notification that) {
return (that instanceof URLNotification
&& getExpirationDate().equals(that.getExpirationDate())
&& getProductId().equals(that.getProductId())
&& (
(getTrackerURL() == null && that.getTrackerURL() == null)
|| getTrackerURL().equals(that.getTrackerURL()))
&& (
(getProductURL() == null
&& ((URLNotification) that).getProductURL() == null)
|| getProductURL().equals(((URLNotification) that).getProductURL())));
}
}