Logikabschnitte definieren eine Instruktionsfolge. Die meisten Logikabschnitte enthalten eine oder
mehrere Funktionen, die die Basiseinheiten der Logik darstellen.
Eine Funktion kann Parameter empfangen, EGL-Anweisungen ausführen und einen Wert an die Funktion zurückgeben, von der sie aufgerufen wurde. Einfaches Beispiel für eine Funktion:
Function addIntegers(int1 int in, int2 int in) returns (int)
sum int = int1 + int2;
return (sum);
end
Details hierzu finden Sie in
Funktionen.
Technisch gesehen ist eine Funktion kein Logikabschnitt, auch wenn eine Funktion außerhalb eines Logikabschnitts vorhanden sein und sich daher wie ein Logikabschnitt verhalten kann. Lesen Sie dazu Eigenständige Funktionsabschnitte.
- Programm
- Ein Programm ist die einfachste Form eines Logikabschnitts. Ein Programm in EGL verhält sich ähnlich wie Programme in vielen anderen Programmiersprachen.
Ein EGL-Programm muss eine Funktion namens main enthalten. Diese Funktion wird aufgerufen, wenn das Programm ausgeführt wird. Das Programm kann beliebig viele andere Funktionen enthalten. Das folgende Beispiel zeigt einen einfachen Programmabschnitt:
package programs;
program multiplicationTable type BasicProgram
stopNumber int = 7;
function main()
SysLib.writeStderr("Printing multiplication table through "
:: stopNumber);
i, j int;
for (i from 1 to stopNumber by 1)
for (j from 1 to stopNumber by 1)
printProduct(i, j);
end
end
SysLib.writeStderr("Finished.");
end
function printProduct(int1 int in, int2 int in)
SysLib.writeStderr(int1 :: "x" :: int2 ::
"=" :: int1*int2);
end
end
- Bibliothek
- Ein Bibliotheksabschnitt ist eine Sammlung von Funktionen und Variablen, die für andere Logikabschnitte lokal verfügbar gemacht werden. Funktionen in einem Bibliotheksabschnitt können in jeder beliebigen Reihenfolge aufgerufen werden, während die Hauptfunktion ('main') in einem Programm immer zuerst ausgeführt wird. Das folgende Beispiel zeigt einen einfachen Bibliotheksabschnitt:
package libraries;
library myMathLibrary type BasicLibrary
function addIntegers(int1 int in, int2 int in)
returns (int)
return (int1+int2);
end
function subtractIntegers(int1 int in, int2 int in)
returns (int)
return (int1-int2);
end
end
- Handler
- Ein Handlerabschnitt ist auf die Steuerung einer bestimmten Art von Benutzerschnittstelle spezialisiert.
- BasicHandler
- BasicHandler-Abschnitte sind die einfachste Form eines Handlers. Im Allgemeinen verwenden Sie einen Handler, der für einen Schnittstellentyp spezialisiert ist.
- JSFHandler
- JSF-Handlerabschnitte steuern Webseiten. Weitere Informationen hierzu finden Sie unter Elemente einer JSF-Webanwendung.
- JasperReport
- Jasper-Berichtshandlerabschnitte steuern Berichte, die von EGL im
Jasper-Berichtsframework erstellt werden. Weitere Informationen hierzu finden Sie unter Elemente einer JasperReport-Anwendung in EGL.
- Service
- Wie ein Bibliotheksabschnitt ist auch ein Serviceabschnitt eine Sammlung von Funktionen. Anders als ein Bibliotheksabschnitt dient ein Serviceabschnitt jedoch dazu, Anwendungen außerhalb der aktuellen Ausführungseinheit zu aktivieren, um die Funktionen zu verwenden.
- Schnittstelle
- Ein Schnittstellenabschnitt unterscheidet sich von den meisten Logikabschnitten, weil er anstelle von Funktionen oder ausführbarem Code Funktionsprototypen enthält. Im Gegensatz zu den anderen Typen von Logikabschnitten, die tatsächliche Logik definieren, beschreibt ein Schnittstellenabschnitt vielmehr einen anderen Logikabschnitt (in der Regel einen Serviceabschnitt). In EGL können Sie mithilfe von Schnittstellen Services planen oder Services darstellen, die von Ihrer Anwendung verwendet werden.
- ExternalType
- Mit einem ExternalType-Abschnitt können Sie in EGL Variablen erstellen, die auf Elemente in einer anderen Sprache verweisen. ExternalType-Abschnitte werden normalerweise zur Darstellung von Java™-Objekten eingesetzt.
Ein ExternalType-Abschnitt enthält Funktionsprototypen, mit deren Hilfe Sie die Logik
im Java-Objekt aufrufen können.
Außerdem kann ein ExternalType-Abschnitt Variablen enthalten, die öffentliche
Variablen im Java-Objekt darstellen.
Ein Beispiel finden Sie unter Java aufrufen.