1 Themenübersicht
Die Hook-Contract-Definition dient der Erweiterung von Klassifikationen durch Apps.
In dieser Dokumentation ist beschrieben, welche Erweiterungen Sie mit den Hook-Contract-Definitionen vornehmen können und welche Einschränkungen und Besonderheiten Sie beachten müssen.
Eine Schnittstellenbeschreibung finden Sie im zugehörigen Entwicklungsobjekt vom Typ „Hook Contract“: com.cisag.app.general.hook.log.Hierarchy.
Ausführliche Informationen zu den in den Schnittstellen deklarierten Methoden finden Sie in den zugehörigen Java-Klassen.
Informationen zur Hook-Infrastruktur finden Sie in der Dokumentation „Hook Contracts“.
2 Zielgruppe
- Entwickler
3 Beschreibung
Die Hook-Contract-Definition für die Erweiterung von Klassifikationen bieten folgende Möglichkeiten an:
- Pflege von neuen Attributen und abhängigen Business Objects für beliebige Klassifikationen.
- Registrierung von beliebigen Klassifikationen für die Verwendung aller Knoten in anderen Business Objects.
3.1 Besonderheiten
Da mit der Anwendung Klassifikationen beliebig viele Klassifikationen und damit Business Objects verwaltet werden, kann sie nicht auf anpassbar umgestellt werden.
Bereits in der Vergangenheit konnten vorhandene und eigene Klassifikationen durch die Implementierung der Interfaces com.cisag.app.general.log.HierarchyExtension, com.cisag.app.general.log.HierarchyExtensionController und com.cisag.app.general.ui.HierarchyEditor und die Registrierung der Implementierungen in der Klasse com.cisag.app.general.log.HierarchyRegistry erweitert werden.
Diese Möglichkeit wurde jetzt auch für Apps nutzbar gemacht. Es müssen also die vorhandenen Interfaces implementiert und über eine Hook-Contract-Implementierung anstelle der Registrierung bekannt gemacht werden.
Die bereits vorhandene und die neue Möglichkeit der Erweiterung können parallel existieren.
Hinweis:
Siehe als Beispiel die Hook-Contract-Implementierung com.ado.ext.app.general.log.Hierarchy.
3.2 Einschränkungen
Die oben genannten Interfaces dürfen pro App und pro Klassifikation nur einmal implementiert werden.
Wenn abhängige Business Objects ex- und importiert werden sollen, dann müssen die Interfaces com.cisag.app.general.log.HierarchyExtension und com.cisag.app.general.log.HierarchyExtensionController in einer Klasse implementiert werden. Anderenfalls kann der Controller nicht auf die Extension zugreifen.