Nextcloud PHP API (master)

IPreloadableNotifier extends INotifier

Allow notifier implementations to preload and cache data for many notifications at once to improve performance by, for example, bundling SQL queries.

Attributes
#[Implementable]
$since: '32.0.0'

Table of Contents

Methods

getID()  : string
Identifier of the notifier, only use [a-z0-9_]
getName()  : string
Human-readable name describing the notifier
preloadDataForParsing()  : void
This method provides a way for notifier implementations to preload and cache data for many notifications. The data is meant to be consumed later in the {@see INotifier::prepare()} method to improve performance.
prepare()  : INotification

Methods

getID()

Identifier of the notifier, only use [a-z0-9_]

public getID() : string
Tags
since
17.0.0
Return values
string

getName()

Human-readable name describing the notifier

public getName() : string
Tags
since
17.0.0
Return values
string

preloadDataForParsing()

This method provides a way for notifier implementations to preload and cache data for many notifications. The data is meant to be consumed later in the {@see INotifier::prepare()} method to improve performance.

public preloadDataForParsing(array<string|int, INotification$notifications, string $languageCode, NotificationPreloadReason $reason) : void
Parameters
$notifications : array<string|int, INotification>

The notifications which are about to be prepared in the next step.

$languageCode : string

The code of the language that should be used to prepare the notification.

$reason : NotificationPreloadReason

The reason for preloading the given notifications to facilitate smarter decisions about what data to preload.

Tags
since
32.0.0

prepare()

public prepare(INotification $notification, string $languageCode) : INotification
Parameters
$notification : INotification
$languageCode : string

The code of the language that should be used to prepare the notification

Tags
throws
UnknownNotificationException

When the notification was not prepared by a notifier

throws
AlreadyProcessedException

When the notification is not needed anymore and should be deleted

throws
IncompleteParsedNotificationException

Only to be thrown by the IManager

since
9.0.0
since
30.0.0

Notifiers should throw UnknownNotificationException instead of \InvalidArgumentException when they did not handle the notification. Throwing \InvalidArgumentException directly is deprecated and will be logged as an error in Nextcloud 39.

since
30.0.0

Throws IncompleteParsedNotificationException when not all required fields are set at the end of the manager or after a INotifier that claimed to have parsed the notification.

Return values
INotification

        
On this page

Search results