Class UserNotificationWithFeedback

java.lang.Object
it.tidalwave.util.ui.UserNotification
it.tidalwave.util.ui.UserNotificationWithFeedback

@Immutable public class UserNotificationWithFeedback extends UserNotification
This class models a user notification where a feedback is expected (confirmation or cancellation).
Author:
Fabrizio Giudici
  • Field Details

  • Constructor Details

    • UserNotificationWithFeedback

      protected UserNotificationWithFeedback(@Nonnull String text, @Nonnull String caption, @Nonnull UserNotificationWithFeedback.Feedback feedback)
      Parameters:
      text - the notification text
      caption - the notification caption
      feedback - the feedback
  • Method Details

    • notificationWithFeedback

      @Nonnull public static UserNotificationWithFeedback notificationWithFeedback()
      Creates a notification with empty caption and text.
      Returns:
      the notification
    • withCaption

      @Nonnull public UserNotificationWithFeedback withCaption(@Nonnull String caption)
      Associates a caption to the notification.
      Overrides:
      withCaption in class UserNotification
      Parameters:
      caption - the caption
      Returns:
      the notification
    • withCaption

      @Nonnull public UserNotificationWithFeedback withCaption(@Nonnull Class<?> bundleClass, @Nonnull String resourceName, @Nonnull Object... params)
      Associates a caption to the notification, retrieved from a resource bundle.
      Overrides:
      withCaption in class UserNotification
      Parameters:
      bundleClass - the class where to search the resource bundle from
      resourceName - the resource name of the caption in the bundle
      params - some (optional) parameters to the resource
      Returns:
      the notification
    • withText

      @Nonnull public UserNotificationWithFeedback withText(@Nonnull String text)
      Associates a text to the notification.
      Overrides:
      withText in class UserNotification
      Parameters:
      text - the text
      Returns:
      the notification
    • withText

      @Nonnull public UserNotificationWithFeedback withText(@Nonnull Class<?> bundleClass, @Nonnull String resourceName, @Nonnull Object... params)
      Associates a text to the notification, retrieved from a resource bundle.
      Overrides:
      withText in class UserNotification
      Parameters:
      bundleClass - the class where to search the resource bundle from
      resourceName - the resource name of the text in the bundle
      params - some (optional) parameters to the resource
      Returns:
      the notification
    • withFeedback

      @Nonnull public UserNotificationWithFeedback withFeedback(@Nonnull UserNotificationWithFeedback.Feedback feedback)
      Associates a UserNotificationWithFeedback.Feedback to the notification.
      Parameters:
      feedback - the Feedback to associate
      Returns:
      the notification
    • confirm

      public void confirm() throws Exception
      Notifies a confirmation to the user notification.
      Throws:
      Exception - in cases of error
    • cancel

      public void cancel() throws Exception
      Notifies a cancellation to the user notification.
      Throws:
      Exception - in cases of error
    • feedback

      @Nonnull public static UserNotificationWithFeedback.Feedback feedback()
      Creates a new Feedback that does nothing. This method should be chained with withOnConfirm() and/or withOnCancel(Callback) to specify the relative callbacks.
         feedback().withOnConfirm(this::doSomething).withOnCancel(this::doSomethingElse);
       
      Returns:
      a feedback that does nothing in any case
      Since:
      3.2-ALPHA-1 (was previously on Feedback8