Notifications

Raising Notifications

To raise a notification on the user's desktop, you first need to create a Notification instance and then call the raise() method on it:

// create notification instance
Notification alert = io.notifications()
        .create("Example", notification -> notification.title("New Trade"));

// raise the notification
alert.raise(NotificationSeverity.LOW);

Notification Click

When raising a notification, you can specify what happens when the user clicks on the notification. By default, this will show the built-in notification details view, but you can replace that with invoking an Interop method.

In the following example, clicking on the notification will invoke the DetailsHandler Interop method:

io.notifications()
        .create("Example", notification -> notification.details("DetailsHandler"));

Actions

Notifications may contain actions (usually displayed as buttons in the UI) that the user can execute when they see the notification. Executing an action results in invoking an Interop method. This Interop method can be registered by the publisher of the notification or any other app that can handle the action. The handler of the Interop action can also receive arguments, specified by the publisher of the notification.

In the following example, we add actions Call Client and Open Portfolio, passing an id argument to both actions:

io.interop().register("CallClient", (arg, caller) -> Collections.emptyMap());
io.interop().register("OpenPortfolio", (arg, caller) -> Collections.emptyMap());
io.notifications()
        .create("Example", notification -> notification
                    .action("CallClient", "Call Client", Collections.singletonMap("id", 42))
                    .action("OpenPortfolio", "Open Portfolio", Collections.singletonMap("id", 42)));

Java actions