Die Funktion liefert die Methoden-ID (Java-Handle) für eine statische Methode einer Klasse.
Sie ist äquivalent zur JNI-Funktion GetStaticMethodID
.
Aufruf
CALL 'JCI_GetStaticMethodID' USING
cObj mName mSig mID
cObj | Klassenobjekt |
mName | Name der Methode |
mSig | Signatur der Methode |
mID | von der Funktion gelieferte Methoden-ID |
Argumente
cObj | Datenfeld des Typs |
mName | Struktur vom Typ |
mSig | Struktur vom Typ |
mID | Datenfeld des Typs |
Returnwert (RETURN-CODE)
JCI-RET-OK
Der Aufruf war erfolgreich.
JCI-RET-ENOVM
Es ist keine Java-VM gestartet.
JCI-RET-ENULLOBJ
cObj ist JCI-NULL
.
JCI-RET-EARGUMENT
cObj ist kein Klassen-Objekt.
JCI-RET-ENOTFOUND
Die Methode konnte nicht gefunden werden.
Exceptions
Die von der Funktion geworfenen Exceptions entsprechen denen der JNI-Funktion GetStaticMethodID
.
Hinweise
Die Methode wird durch den Namen und die Signatur identifiziert. Die Signatur kann durch die Anweisung
javap -s <Klassenname>
erhalten werden, wobei <Klassenname>
der Name der durch cObj identifizierten Klasse ist.
Beispiel
DATA DIVISION. WORKING-STORAGE SECTION. COPY JCI-TYPEDEFS. 01 JCIConstants. COPY JCI-CONST. ... 01 methodName. 05 PIC S9(9) COMP-5 VALUE 30. 05 PIC X(30) VALUE 'hello'. 01 methodSig. 05 PIC S9(9) COMP-5 VALUE 80. 05 PIC X(80) VALUE '(Ljava/lang/String;)V'. ... 01 classObj TYPE JCI-object. 01 methodID TYPE JCI-handle. ... PROCEDURE DIVISION. ... CALL 'JCI_GetStaticMethodID' USING classObj methodName methodSig methodID IF RETURN-CODE NOT = JCI-RET-OK ...