NotificationEvent.java
- /*
- * NotificationEvent
- */
- package gov.usgs.earthquake.distribution;
- import gov.usgs.earthquake.product.Product;
- import java.io.IOException;
- import java.util.EventObject;
- /**
- * An event sent to a NotificationListener.
- *
- * These events are sent by a NotificationReceiver.
- */
- public class NotificationEvent extends EventObject {
- /** For serialization. */
- private static final long serialVersionUID = 1L;
- /** The notification that generated this event. */
- private final Notification notification;
- /**
- * Construct a new NotificationEvent.
- *
- * @param source
- * the source of this event, usually a NotificationReceiver.
- * @param notification
- * the notification that generated this event.
- */
- public NotificationEvent(final NotificationReceiver source,
- final Notification notification) {
- super(source);
- this.notification = notification;
- }
- /**
- * Get the notification associated with this NotificationEvent.
- *
- * @return the associated notification.
- */
- public Notification getNotification() {
- return notification;
- }
- /**
- * A convenience method that casts event source into a NotificationReceiver.
- *
- * @return source as a NotificationReceiver.
- */
- public NotificationReceiver getNotificationReceiver() {
- return (NotificationReceiver) getSource();
- }
- /**
- * A convenience method to request a product.
- *
- * @return the requested product.
- * @throws IOException
- * if any errors occur while retrieving the product.
- */
- public Product getProduct() throws Exception {
- return getNotificationReceiver().retrieveProduct(
- notification.getProductId());
- }
- }