GETtypeFIELD Method

Returns the value of a non-static field for a Java object.

Category: Field Reference
Applies to: Java object

Syntax

object.GETtypeFIELD ("field-name", value);

Arguments

object

specifies the name of a Java object.

type

specifies the type for the Java field. The type can be one of the following values:

BOOLEAN

specifies that the field type is BOOLEAN.

BYTE

specifies that the field type is BYTE.

CHAR

specifies that the field type is CHAR.

DOUBLE

specifies that the field type is DOUBLE.

FLOAT

specifies that the field type is FLOAT.

INT

specifies that the field type is INT.

LONG

specifies that the field type is LONG.

SHORT

specifies that the field type is SHORT.

STRING

specifies that the field type is STRING.

See Type Issues in SAS Language Reference: Concepts

field-name

specifies the Java field name.

Requirement The field name must be enclosed in either single or double quotation marks.

value

specifies the name of the variable that receives the returned field value.

Details

Once you instantiate a Java object, you can access and modify its public fields through method calls on the Java object. The GETtypeFIELD method enables you to access non-static fields.
Note: The type argument represents a Java data type. For more information about how Java data types relate to SAS data types, see Type Issues in SAS Language Reference: Concepts.

Comparisons

The GETtypeFIELD method returns the value of a non-static field for a Java object. To return the value of a static field, use the GETSTATICtypeFIELD method.

Example: Retrieving the Value of a Non-Static Field

The following example creates a simple class that contains three non-static fields. The Java object j is instantiated, and then the field values are modified and retrieved using the GETtypeFIELD method.
/* Java code */
import java.util.*;
import java.lang.*;
public class ttest
{
   public int i;
   public double d;
   public string s;
}
}
/*  DATA step code */
data _null_;
   dcl javaobj j("ttest");
   length val 8;
   length str $20;
   j.setIntField("i", 100);
   j.setDoubleField("d", 3.14159);
   j.setStringField("s", "abc");
   j.getIntField("i", val);
   put val=;
   j.getDoubleField("d", val);
   put val=;
   j.getStringField("s", str);
   put str=;
run;
The following lines are written to the SAS log:
val=100
val=3.14159
str=abc