Package de.willuhn.jameica.messaging
Messaging-System von Jameica.
Das Design-Pattern Listener/Event ist ein
sehr sinnvolles Prinzip, wenn ein Objekt
ueber Aenderungen eines anderen informiert
werden will. Es ist elementarer Bestandteil
(vermutlich) aller Widget-Toolkits um im
Programmcode ueber die Interaktionen des
Benutzers informiert zu werden. Mit dem
Jameica-Messaging-System steht eine Moeglichkeit
bereit, pluginuebergreifend in ganz Jameica
ueber Ereignisse benachrichtigt zu werden.
Um als Nachrichten-Empgfaenger im System
registriert zu werden, genuegt es, das
Interface MessageConsumer
zu
implementieren. Beim Start von Jameica
ermittelt die MessagingFactory selbstaendig
alle existierenden Nachrichten-Verbraucher
und registriert diese.
Von nun an kann jede Klasse mittels
Application.getMessagingFactory().sendMessage(Message)
.
eine Nachricht versenden. Alle registrierten
MessageConsumer erhalten dann diese Nachricht
und koennen darauf reagieren. Auf diese
Weise kann z.Bsp. ein Plugin A Nachrichten
an ein Plugin B senden ohne pruefen zu
muessen, ob Plugin B ueberhaupt installiert
ist.
WICHTIG: Die Nachrichtenzustellung erolgt in einem separaten Thread. Das ist wichtig, damit ein Nachrichten- Verbraucher Jameica nicht zum Stehen bringen kann, wenn das Verarbeiten der Nachricht zeitaufwendig ist. Also nicht vergessen: Nachrichten-Sender und Verbraucher befinden sich in verschiedenen Threads.
-
ClassDescriptionWird benachrichtigt, wenn neue Aktivität vorhanden ist, die im Systray hervorgehoben werden soll.Registriert ein Script, welches via Messaging uebergeben wurde.Initialisiert den Attachment-Service im Hintergrund.Uebernimmt das Suchen und Aktivieren der automatisch zu registrierenden Message-Consumer.Triggert das Laden der Bookmarks im Hintergrund.Eine Boot-Message, die zum Beispiel versendet wird, wenn es beim Boot-Vorgang zu einem Fehler kam, der dem User angezeigt werden soll.Empfaengt Boot-Messages und haelt sie fuer den spaeteren Abruf bereit.Message, die synchron verschickt wird, wenn die Vertrauensstellung eines Zertifikates geprueft werden soll.Wird gesendet, wenn sich im System eine Programm-Datei geaendert hat.Ueberwacht alle Programm-Dateien auf Aenderungen und informiert ggf das System.Wird beim Herunterfahren von Jameica benachrichtigt und speichert Strings ab, zu denen waehrend der Sitzung keine Uebersetzungen gefunden wurden.Message-Consumer, der QueryMessages mit Script-Funktionen ausfuehrt.Nachricht, die gesendet wird, wenn sich der Keystore geaendert hat.Dieser Service erlaubt die automatische Suche nach Service-URLs im LAN via Multicast.Uebernimmt das Registrieren der im Plugin-Manifest definierten Message-Consumer sowie das Versenden von Messages, die im Manifest definiert wurden.Das ist das gemeinsame Interface aller Nachrichten.Eine Convenience-Klasse zum einfachen Verschicken von Messages an beliebige Channels, ohne extra Message-Objekte erzeugen zu muessen.Hilfsklasse, um Nachrichten eines bestimmten Typs zu sammeln.Dieses Interface muss implementiert werden, wenn man die Nachrichten des Messaging-Systems erhalten will.Die Nachrichtenzentrale von Jameica ;).Eine Queue, ueber die Nachrichten verschickt werden koennen.Implementierung einer benamten Queue, die jedoch mittels ThreadPoolExecutor multi-threaded arbeitet.Implementierung einer Queue, die einen Namen hat.Wird ueber die Installation und Deinstallation von Plugins benachrichtigt und haelt eine Liste mit dem aktuellen Stand der Plugins.Message, die verschickt wird, wenn zur Laufzeit an einem Plugin etwas geaendert wurde.Die verschiedenen Events.Wird benachrichtigt, wenn ein Plugin deinstalliert wird.Message-Consumer, der Popups anzeigt.Generische Nachricht, die verschickt werden kann, wenn man zum Beispiel von einem anderen Plugin Informationen abfragen will.Damit koennen Methoden in Klassen annotiert werden, die via Messaging aufgerufen werden koennen.Message-Consumer, der ausgeloest wird, wenn ein Freitext-Reminder faellig ist.Erweitert eine Query-Message, um das urspruenglich geplante Ausfuehrungsdatum von Remindern mit angegeben zu koennen.Deregistriert ein Script, welches via Messaging uebergeben wurde.Wird versendet, wenn der User die System-Einstellungen von Jameica geaendert hat.Wird versendet, wenn der User die System-Einstellungen von Jameica zurueckgesetzt hat.Wenn man eine Nachricht in der Statuszeile von Jameica anzeigen will, dann schickt man einfach eine Nachricht dieses Typs an die MessagingFactory.Ein Nachrichten-Consumer, der alle Statusbar-Meldungen im Server-Mode in's Log schreibt.Diese Nachricht wird gesendet, wenn sich am System-Status von Jameica etwas geaendert hat.Wird verwendet, um beim ersten Oeffnen des System-Plugin-Repository einen Custom-Dialog anzuzeigen.Eine Standard-Textnachricht mit Text und Titel.Loest eine Message nach dem Start von Jameica aus, wenn der vorherige Shutdown nicht sauber war.