The system function JavaLib.setField sets the value of a field in a native Java™ object or class. JavaLib.setField is one of several Java access functions.
JavaLib.setField( identifierOrClass javaObjId in, field STRING in, value anyEglPrimitive in)
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.
This argument is either a string literal or a variable of type CHAR, DBCHAR, MBCHAR, STRING, or UNICODE. Single- and double-byte blanks are stripped from the beginning and end of the string, 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 assign a short to a field that is declared as an int.
JavaLib.setField( (objID)"myId", "myField", (short)myNumItem );
An error during processing of JavaLib.setField 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 |
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 statements and commands