If the method returns a Java primitive instead of an object, EGL stores an object that represents the primitive; for example, if the method returns an int, EGL stores an object of type java.lang.Integer.
JavaLib.store is one of several Java access functions.
JavaLib.store( storeId javaObjId in, identifierOrClass javaObjId in, method STRING in {, argument anyEglPrimitive in} )
This argument is either a string literal or a variable of type CHAR, DBCHAR, MBCHAR, STRING, or UNICODE. The identifier must be cast to objID, as in a later example. EGL strips single- and double-byte blanks from the beginning and end of the argument value, which is case sensitive.
This argument is either a string literal or an item of type CHAR, DBCHAR, MBCHAR, STRING, or UNICODE. If you are specifying an identifier of an object, the identifier must be cast to objID, as in a later example. EGL strips single- and double-byte blanks from the beginning and end of the argument value, which is case sensitive.
This argument is either a string literal or a variable of type CHAR, DBCHAR, MBCHAR, STRING, or UNICODE. If you are specifying an identifier of an object, the identifier must be cast to objID, as in a later example. EGL strips single- and double-byte blanks from the beginning and end of the argument value, which is case sensitive.
A cast may be required, as specified in Java access (system words).
The Java type-conversion rules are in effect. No error occurs, for example, if you pass a short to a method parameter that is declared as an int.
To avoid losing precision, use an EGL float item for a Java double, and an EGL smallfloat item for a Java float. Using one of the other EGL types will probably result in a value being rounded.
The memory area in the invoking program does not change regardless of what the method does.
JavaLib.store( (objId)"storeId", (objId)"myId", "myMethod", 36 );
An error during processing of JavaLib.store can set sysVar.errorCode to a value listed in the next table.
Value in sysVar.errorCode | Description |
---|---|
00001000 | An exception was thrown by an invoked method or as a result of a class initialization |
00001001 | The object was null, or the specified identifier was not in the object space |
00001002 | A public method, field, or class with the specified name does not exist or cannot be loaded |
00001003 | The EGL primitive type does not match the type expected in Java |
00001006 | The class of an argument cast to null could not be loaded |
00001007 | A SecurityException or IllegalAccessException was thrown during an attempt to get information about a method or field; or an attempt was made to set the value of a field that was declared final |
00001009 | An identifier rather than a class name must be specified; the method or field is not static |
Related concepts
Syntax diagram for EGL functions