Package it.tidalwave.util.ui
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
UserNotificationWithFeedback.Feedback
This class provides a few callback methods to notify a choice from the user.
-
Field Summary
Fields Modifier and Type Field Description protected UserNotificationWithFeedback.Feedback
feedback
-
Fields inherited from class it.tidalwave.util.ui.UserNotification
caption, text
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UserNotificationWithFeedback(java.lang.String text, java.lang.String caption, UserNotificationWithFeedback.Feedback feedback)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancel()
Notifies a cancellation to the user notification.void
confirm()
Notifies a confirmation to the user notification.static UserNotificationWithFeedback.Feedback
feedback()
Creates a newFeedback
that does nothing.static UserNotificationWithFeedback
notificationWithFeedback()
Creates a notification with empty caption and text.UserNotificationWithFeedback
withCaption(java.lang.Class<?> bundleClass, java.lang.String resourceName, java.lang.Object... params)
Associates a caption to the notification, retrieved from a resource bundle.UserNotificationWithFeedback
withCaption(java.lang.String caption)
Associates a caption to the notification.UserNotificationWithFeedback
withFeedback(UserNotificationWithFeedback.Feedback feedback)
Associates aUserNotificationWithFeedback.Feedback
to the notification.UserNotificationWithFeedback
withText(java.lang.Class<?> bundleClass, java.lang.String resourceName, java.lang.Object... params)
Associates a text to the notification, retrieved from a resource bundle.UserNotificationWithFeedback
withText(java.lang.String text)
Associates a text to the notification.-
Methods inherited from class it.tidalwave.util.ui.UserNotification
notification
-
-
-
-
Field Detail
-
feedback
protected final UserNotificationWithFeedback.Feedback feedback
-
-
Constructor Detail
-
UserNotificationWithFeedback
protected UserNotificationWithFeedback(@Nonnull java.lang.String text, @Nonnull java.lang.String caption, @Nonnull UserNotificationWithFeedback.Feedback feedback)
- Parameters:
text
- the notification textcaption
- the notification captionfeedback
- the feedback
-
-
Method Detail
-
notificationWithFeedback
@Nonnull public static UserNotificationWithFeedback notificationWithFeedback()
Creates a notification with empty caption and text.- Returns:
- the notification
-
withCaption
@Nonnull public UserNotificationWithFeedback withCaption(@Nonnull java.lang.String caption)
Associates a caption to the notification.- Overrides:
withCaption
in classUserNotification
- Parameters:
caption
- the caption- Returns:
- the notification
-
withCaption
@Nonnull public UserNotificationWithFeedback withCaption(@Nonnull java.lang.Class<?> bundleClass, @Nonnull java.lang.String resourceName, @Nonnull java.lang.Object... params)
Associates a caption to the notification, retrieved from a resource bundle.- Overrides:
withCaption
in classUserNotification
- Parameters:
bundleClass
- the class where to search the resource bundle fromresourceName
- the resource name of the caption in the bundleparams
- some (optional) parameters to the resource- Returns:
- the notification
-
withText
@Nonnull public UserNotificationWithFeedback withText(@Nonnull java.lang.String text)
Associates a text to the notification.- Overrides:
withText
in classUserNotification
- Parameters:
text
- the text- Returns:
- the notification
-
withText
@Nonnull public UserNotificationWithFeedback withText(@Nonnull java.lang.Class<?> bundleClass, @Nonnull java.lang.String resourceName, @Nonnull java.lang.Object... params)
Associates a text to the notification, retrieved from a resource bundle.- Overrides:
withText
in classUserNotification
- Parameters:
bundleClass
- the class where to search the resource bundle fromresourceName
- the resource name of the text in the bundleparams
- some (optional) parameters to the resource- Returns:
- the notification
-
withFeedback
@Nonnull public UserNotificationWithFeedback withFeedback(@Nonnull UserNotificationWithFeedback.Feedback feedback)
Associates aUserNotificationWithFeedback.Feedback
to the notification.- Parameters:
feedback
- theFeedback
to associate- Returns:
- the notification
-
confirm
public void confirm() throws java.lang.Exception
Notifies a confirmation to the user notification.- Throws:
java.lang.Exception
- in cases of error
-
cancel
public void cancel() throws java.lang.Exception
Notifies a cancellation to the user notification.- Throws:
java.lang.Exception
- in cases of error
-
feedback
@Nonnull public static UserNotificationWithFeedback.Feedback feedback()
Creates a newFeedback
that does nothing. This method should be chained withwithOnConfirm()
and/orwithOnCancel(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
-
-