This class adds a form of "key-value coding" to objects that inherit from java.lang.Object (also see the documentation for the next.util.KeyValueCoding interface). Key-value coding allows you to access the properties of an object indirectly by name (or key), rather than directly through invocation of an accessor method or as instance variables. This allows you to access any object's state in a consistent manner.
The methods in this class first search the target object for a method with the same name as the key, invoking it if one is found. If no such method is found, the object is then searched for a field whose name matches the key. If an appropriately-named field is found, the content of the field is accessed. Otherwise, an exception is thrown.
The basic methods for accessing an enterprise object's values are getValue and setValue. These two methods are defined to use the accessor methods normally implemented by objects (or to access instance variables directly if need be). Similarly named methods allow access to floats, ints, and longs.
Objective-C programmers can think of this class as being similar in spirit to a category on java.lang.Object. Because this is a class, however, you use it as follows: