storeField()

La función de sistema JavaLib.storeField coloca el valor de un campo de clase o de un campo de objeto en el espacio de objetos de Java. Si el identificador utilizado para almacenar el objeto ya se encuentra en el espacio de objetos, la acción es equivalente a los siguientes pasos:

Si el campo de clase u objeto contiene un primitivo Java en lugar de un objeto, EGL almacena un objeto que representa el primitivo; por ejemplo, si el campo devuelve un int, EGL almacena un objeto de tipo java.lang.Integer.

  JavaLib.storeField(
    idAlmacén javaObjId in,
    identificadorOClase javaObjIdOrClass in,
    campo STRING in)
idAlmacén
El identificador que debe almacenarse con el objeto.

Este argumento es un literal de serie o un elemento de tipo CHAR, DBCHAR, MBCHAR o UNICODE. El identificador debe haberse convertido temporalmente a objID, como en el ejemplo que figura más adelante. EGL elimina blancos de un solo byte y de doble byte del principio y el final del valor del argumento, que es sensible a mayúsculas y minúsculas.

identificadorOClase
Este argumento es una de las siguientes entidades:
  • Un identificador que hace referencia a un objeto del espacio de objetos; o
  • El nombre totalmente calificado de una clase Java.

Este argumento es un literal de serie o un elemento de tipo CHAR, DBCHAR, MBCHAR o UNICODE. Si especifica un identificador de un objeto, el identificador debe haberse convertido temporalmente a objID, como en el ejemplo que figura más adelante. Si tiene previsto especificar un campo estático en el siguiente argumento, es aconsejable especificar una clase en este argumento.

EGL elimina blancos de un solo byte y de doble byte del principio y el final del valor del argumento, que es sensible a mayúsculas y minúsculas.

campo
El nombre del campo que hace referencia a un objeto.

Este argumento es un literal de serie o un elemento de tipo CHAR, DBCHAR, MBCHAR o UNICODE. Se eliminan blancos de un solo byte y de doble byte del principio y el final de la serie, que es sensible a mayúsculas y minúsculas.

A continuación se ofrece un ejemplo:
  JavaLib.storeField( (objId)"myStoreId", 
    (objId)"myId", "myField");

Un error producido durante el proceso de JavaLib.storeField puede establecer sysVar.errorCode en uno de los valores que figuran en la tabla siguiente.

Valor de sysVar.errorCode Descripción
00001000 Un método invocado ha lanzado una excepción o como resultado de una inicialización de clase.
00001001 El objeto era nulo o el identificador especificado no estaba en el espacio de objetos
00001002 No existe o no puede cargarse un método, campo o clase públicos con el nombre especificado
00001007 Se ha lanzado una excepción de tipo SecurityException o IllegalAccessException durante un intento de obtener información acerca de un método o campo; o se ha intentado establecer el valor de un campo declarado como final
00001009 Debe especificarse un identificador en lugar de un nombre de clase; el método o campo no es estático

Conceptos relacionados
Diagrama de sintaxis para funciones EGL

Consulta relacionada
Biblioteca JavaLib de EGL
getField()
invoke()
isNull()
isObjID()
qualifiedTypeName()
remove()
removeAll()
setField()
store()
storeCopy()
storeNew()

Tareas relacionadas
Diagrama de sintaxis para sentencias y mandatos EGL

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.