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.
-
Interface Summary Interface Description Message Das ist das gemeinsame Interface aller Nachrichten.MessageConsumer Dieses Interface muss implementiert werden, wenn man die Nachrichten des Messaging-Systems erhalten will.MessagingQueue Eine Queue, ueber die Nachrichten verschickt werden koennen. -
Class Summary Class Description ActivityMessageConsumer Wird benachrichtigt, wenn neue Aktivität vorhanden ist, die im Systray hervorgehoben werden soll.AddScriptMessageConsumer Registriert ein Script, welches via Messaging uebergeben wurde.AttachmentServicePreloadMessageConsumer Initialisiert den Attachment-Service im Hintergrund.AutoRegisterMessageConsumer Uebernimmt das Suchen und Aktivieren der automatisch zu registrierenden Message-Consumer.BookmarkPreloadMessageConsumer Triggert das Laden der Bookmarks im Hintergrund.BootMessage Eine Boot-Message, die zum Beispiel versendet wird, wenn es beim Boot-Vorgang zu einem Fehler kam, der dem User angezeigt werden soll.BootMessageConsumer Empfaengt Boot-Messages und haelt sie fuer den spaeteren Abruf bereit.CheckTrustMessage Message, die synchron verschickt wird, wenn die Vertrauensstellung eines Zertifikates geprueft werden soll.FileChangedMessage Wird gesendet, wenn sich im System eine Programm-Datei geaendert hat.FileChangedMessageConsumer Ueberwacht alle Programm-Dateien auf Aenderungen und informiert ggf das System.I18nMessageConsumer Wird beim Herunterfahren von Jameica benachrichtigt und speichert Strings ab, zu denen waehrend der Sitzung keine Uebersetzungen gefunden wurden.InvokeScriptMessageConsumer Message-Consumer, der QueryMessages mit Script-Funktionen ausfuehrt.KeystoreChangedMessage Nachricht, die gesendet wird, wenn sich der Keystore geaendert hat.LookupService Dieser Service erlaubt die automatische Suche nach Service-URLs im LAN via Multicast.ManifestMessageConsumer Uebernimmt das Registrieren der im Plugin-Manifest definierten Message-Consumer sowie das Versenden von Messages, die im Manifest definiert wurden.MessageBus Eine Convenience-Klasse zum einfachen Verschicken von Messages an beliebige Channels, ohne extra Message-Objekte erzeugen zu muessen.MessageCollector Hilfsklasse, um Nachrichten eines bestimmten Typs zu sammeln.MessagingFactory Die Nachrichtenzentrale von Jameica ;).NamedConcurrentQueue Implementierung einer benamten Queue, die jedoch mittels ThreadPoolExecutor multi-threaded arbeitet.NamedQueue Implementierung einer Queue, die einen Namen hat.PluginCacheMessageConsumer Wird ueber die Installation und Deinstallation von Plugins benachrichtigt und haelt eine Liste mit dem aktuellen Stand der Plugins.PluginMessage Message, die verschickt wird, wenn zur Laufzeit an einem Plugin etwas geaendert wurde.PluginUninstallScriptingMessageConsumer Wird benachrichtigt, wenn ein Plugin deinstalliert wird.PopupMessageConsumer Message-Consumer, der Popups anzeigt.QueryMessage Generische Nachricht, die verschickt werden kann, wenn man zum Beispiel von einem anderen Plugin Informationen abfragen will.ReminderAppointmentMessageConsumer Message-Consumer, der ausgeloest wird, wenn ein Freitext-Reminder faellig ist.ReminderMessage Erweitert eine Query-Message, um das urspruenglich geplante Ausfuehrungsdatum von Remindern mit angegeben zu koennen.RemoveScriptMessageConsumer Deregistriert ein Script, welches via Messaging uebergeben wurde.SettingsChangedMessage Wird versendet, wenn der User die System-Einstellungen von Jameica geaendert hat.SettingsRestoredMessage Wird versendet, wenn der User die System-Einstellungen von Jameica zurueckgesetzt hat.StatusBarMessage Wenn man eine Nachricht in der Statuszeile von Jameica anzeigen will, dann schickt man einfach eine Nachricht dieses Typs an die MessagingFactory.StatusBarServerMessageConsumer Ein Nachrichten-Consumer, der alle Statusbar-Meldungen im Server-Mode in's Log schreibt.SystemMessage Diese Nachricht wird gesendet, wenn sich am System-Status von Jameica etwas geaendert hat.SystemRepositoryTrustMessageConsumer Wird verwendet, um beim ersten Oeffnen des System-Plugin-Repository einen Custom-Dialog anzuzeigen.TextMessage Eine Standard-Textnachricht mit Text und Titel.UncleanShutdownMessageConsumer Loest eine Message nach dem Start von Jameica aus, wenn der vorherige Shutdown nicht sauber war. -
Enum Summary Enum Description PluginMessage.Event Die verschiedenen Events. -
Annotation Types Summary Annotation Type Description Receive Damit koennen Methoden in Klassen annotiert werden, die via Messaging aufgerufen werden koennen.