Pre knižnicu D2Japi je typické, že mnohé udalosti nastávajú asynchrónne alebo spontánne (napr. zmena hodnoty objektu, ukončenie spojenia, a iné). Zoznam udalostí, ktoré môžu nastať sú definované rozhraniami (napr. D2ConnectorEventsListener, D2SessionEventsListener, ...). Tieto rozhrania boli historicky navrhnuté s určitou množinou udalostí, avšak z praxe postupne vyplynuli požiadavky na ich rozšírenie.
Pretože jazyk Java 1.7 neumožňuje spätne kompatibilným spôsobom pridať do rozhrania nové operácie, boli do knižnice pridané nové rozhrania ako rozšírenia pôvodných. Napríklad D2ConnectorEventsListener2 je rozšírením rozhrania D2ConnectorEventsListener, ktoré pridáva operáciu onConnectionOpened. Ak aplikačný programátor implementuje rozšírené rozhranie, môže asynchrónne spracovať aj udalosť vzniku spojenia. V starom kóde môže však ponechať pôvodnú implementáciu základného rozhrania a kód bude naďalej funkčný.
Poznámka: Medzi verziami knižnice D2Japi 10.1.39 a 11.0.52 došlo k nekompatibilným zmenám – rozšírenie D2ConnectorEventsListener2 bolo začlenené do rozhrania D2ConnectorEventsListener. Taktiež rozšírenia D2SessionEventsListener2 a D2SessionEventsListener3 boli začlenené do rozhrania D2SessionEventsListener. Z toho dôvodu je odporúčané prednostne používať implementácie rozhraní D2ConnectorEventsListener3 a D2SessionEventsListener4, ktoré sú v nezmenenej podobe zachované aj do verzií 11.0.52 a novších.
7.1. D2ConnectorEventsListener
Pôvodné rozhranie obsahovalo operáciu onClose.
Rozšírenie D2ConnectorEventsListener2 pridalo operáciu onConnectionOpened.
Rozšírenie D2ConnectorEventsListener3 pridalo operáciu onConnectionFailed.
7.2. D2SessionEventsListener
Pôvodné rozhranie obsahovalo operácie onClose a onTerminateRequest.
Rozšírenie D2SessionEventsListener2 pridalo operáciu onSessionCreated.
Rozšírenie D2SessionEventsListener3 pridalo operáciu onRTIReceived.
Rozšírenie D2SessionEventsListener4 pridalo operáciu onConnectionFailed.
7.3. D2ObjectEventsListener
Pôvodné rozhranie obsahovalo operácie onChange, onClose a onDeleted.
Rozšírenie D2ObjectEventsListener2 pridalo operácie onObjectOpened a onObjectOpenFailed.
7.4. ArchiveDataListener
Pôvodné rozhranie obsahovalo operácie onArchiveData, onArchiveObjectDescription a onError.
Rozšírenie ArchiveDataListener2 pridalo operáciu onMoreDataInArchive.
0 komentárov