donderdag 8 juli 2010

Form caching of frequently called non-display method

To cache a method on a form, it must be a display method.
How do we cache a method "myMethod" that is NOT a display method?
We cannot use cacheAddMethod.

In general:
Create a map that with
key = the recid of the current record of the form datasource
and value = the return value of "myMethod"

Empty your map.
suppose "myMethod" returns a string:

myMap = new Map(Types::Integer, Types::String)

[location where method is called]:
Look in the map if the recid exists.
If it exists, return that value.
If not exists, execute "myMethod", store in myMap with current recId, and return that value.

Remove the current recid from the map, so that the method will be re-executed next time.

Geen opmerkingen:

Een reactie plaatsen