package au.gov.ga.earthsci.notification.popup.preferences; import au.gov.ga.earthsci.notification.INotification; /** * An interface that gives access to the preferences that control the popup * notification mechanism * * @author James Navin (james.navin@ga.gov.au) */ public interface IPopupNotificationPreferences { String QUALIFIER_ID = "au.gov.ga.earthsci.notification.popup"; //$NON-NLS-1$ String ENABLE_POPUPS = "au.gov.ga.earthsci.notification.popup.preferences.enablePopups"; //$NON-NLS-1$ String SHOW_INFO_NOTIFICATIONS = "au.gov.ga.earthsci.notification.popup.preferences.showInformationNotifications"; //$NON-NLS-1$ String SHOW_WARNING_NOTIFICATIONS = "au.gov.ga.earthsci.notification.popup.preferences.showWarningNotifications"; //$NON-NLS-1$ String SHOW_ERROR_NOTIFICATIONS = "au.gov.ga.earthsci.notification.popup.preferences.showErrorNotifications"; //$NON-NLS-1$ String POPUP_DURATION = "au.gov.ga.earthsci.notification.popup.preferences.popupDuration"; //$NON-NLS-1$ String CATEGORY_FILTER = "au.gov.ga.earthsci.notification.popup.preferences.categoryFilter"; //$NON-NLS-1$ /** * @return Whether popup notifications are currently enabled */ boolean isEnabled(); /** * @return Whether the current preferences should allow the provided * notification to be shown */ boolean shouldShow(INotification notification); /** * @return How long the popup should be displayed for (in ms) */ int getDisplayDuration(); }