Entwicklungsobjekt: Hook Contract

1              Themenübersicht

Die Anwendung „Entwicklungsobjekte“ dient der Erfassung und Ansicht von Entwicklungsobjekten verschiedenster Typen. In dieser Dokumentation wird der Typ „Hook Contract“ beschrieben.

Allgemeine Informationen zur Anwendung „Entwicklungsobjekte“, beispielsweise die Beschreibung der anwendungsbezogenen Aktionen oder des Identifikationsbereichs, finden Sie in dieser Dokumentation „Entwicklungsobjekte“.

2              Beschreibung

Um eine Hook-Contract-Definition bzw. eine Hook-Contract-Implementierung zu definieren, wird dieses Entwicklungsobjekt verwendet. Die Unterscheidung beim Erfassen zwischen Hook-Contract-Definition und der Hook-Contract-Implementierung erfolgt durch einen Subtyp, das in der XML-Datei angegeben wird:

  • HOOK_DEFINITION – für Hook-Contract-Definition.
  • HOOK_IMPLEMENTATION – für Hook-Contract-Implementierung.

Beim diesem Entwicklungsobjekt handelt sich um ein XML-Entwicklungsobjekt. Die Elemente einer XML-Datei für die Hook-Contract-Definition im Einzelnen:

Element Erläuterung
contextClass Vollständiger Name der Java-Klasse, die den Kontext festlegt, in dem Hook-Methoden aufgerufen werden. Der Kontext kann z.B. eine Logikklasse, eine Anwendung oder ein BIS-Controller sein. Dieses Element muss angegeben werden.
hookState Das Element legt die HookStates als Bestandteile der Hook-Contract-Definition fest und darf mehrmals angegeben werden. Jedes Vorkommen definiert einen HookState.
hook Das Element legt die Hooks als Bestandteile der Hook-Contract-Definition fest und darf mehrmals angegeben werden. Jedes Vorkommen definiert einen Hook.
interface Vollständiger Name entweder der Java-Schnittstelle des Hooks oder der Java-Schnittstelle des HookStates. Das Element ist das Unterelement des Elements „hookState“ bzw. des Elements „hook“.
restriction Das Element definiert eine Liste von Einzel-Restriktionen. Das Element ist ein Unterelement des Elements „hook“.
businessObject
javaClass
application
dataView
logicalDatatype
Das Element definiert eine Einzel-Restriktion des jeweiligen Typs. Die Elemente sind Unterelemente des Elements „restriction“, sie können in der Liste mehrmals angegeben werden.

Die Elemente einer XML-Datei für die Hook-Contract-Implementierung im Einzelnen:

Element Erläuterung
contract Vollständiger Name der Hook-Contract-Definition, deren Implementierung definiert wird. Dieses Element muss angegeben werden.
hookState Das Element legt diejenigen HookStates fest, die Bestandteil der Hook-Contract-Implementierung sind. Das Element darf mehrmals angegeben werden.
hook Das Element legt diejenigen Hooks fest, die Bestandteil der Hook-Contract-Implementierung sind. Das Element darf mehrmals angegeben werden.
interface Vollständiger Name entweder der Java-Schnittstelle des Hooks oder der Java-Schnittstelle des HookStates aus der Hook-Contract-Definition. Das Element ist das Unterelement des Elements „hookState“ bzw. des Elements „hook“.
implementation Vollständiger Name der Java-Klasse, die entweder Java-Schnittstelle des Hooks oder Java-Schnittstelle des HookStates implementiert. Das Unterelement des Elements „hookState“ bzw. des Elements „hook“.
restriction Das Element definiert eine Liste von Einzel-Restriktionen. Das Element ist ein Unterelement des Elements „hook“.
businessObject
javaClass
application
dataView
logicalDatatype
Das Element definiert eine Einzel-Restriktion des jeweiligen Typs. Die Elemente sind Unterelemente des Elements „restriction“, sie können in der Liste mehrmals angegeben werden.

Nähere Informationen zu den Hook-Contract-Definitionen bzw. HookStates finden Sie im Dokument „Hook Contracts“.

Beispiel einer Hook-Contract-Definition:

<?xml version=”1.0″ encoding=”UTF-8″?>

<HookContract xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”HookXMLSchema.xsd”>

<!– Don’t change this line and the lines above! –>

<HOOK_DEFINITION>

<contextClass>

com.cisag.app.sales.order.log.SalesOrderTypeEntity

</contextClass>

<hookState>

<interface>

com.cisag.app.system.hook.SingleObjectStateHook

</interface>

</hookState>

 

 

<hook>

<interface>

com.cisag.app.system.hook.CreateHook

</interface>

</hook>

 

<hook>

<interface>

com.cisag.app.system.hook.ValidateSaveHook</interface>

</hook>

 

</HOOK_DEFINITION>

</HookContract>

Czy ten artykuł był pomocny?