TDataFieldAccessor is a utility class that provides access to a field of some data.
The accessor attempts to obtain the field value in the following order:
- If the data is an array, then the field is treated as an array index
and the corresponding element value is returned;
- If the data is a TMap or TList object, then the field is treated as a key
into the map or list, and the corresponding value is returned.
- If the data is an object, the field is treated as a property or sub-property
defined with getter methods. For example, if the object has a method called
getMyValue(), then field 'MyValue' will retrieve the result of this method call.
If getMyValue() returns an object which contains a method getMySubValue(),
then field 'MyValue.MySubValue' will return that method call result.