Like most loadable derivatives, use the load() method to force a specific load state. It takes the hints supplied and loads the instance based on those hints. The KcsProfileFormat class loads those objects and any supporting data returned from the getObject() methods.
If a request is made that requires the loading of unloaded state, the instance goes to static store and loads what is required to accomplish the request. It is up to you whether the objects loaded stay loaded between getObject() calls.
You can cache any object returned from the getObject() methods. This means that the load() and save() methods must be propagated to the cached object. Since this class keeps its own cache of objects and it is expected to be optimized, let KcsProfileFormat handle all caching and call getObject() before that particular object is needed.
The load() method can take a loadhint with multiple bits set. The following error protocols are used:
If the only error the derivative receives during load is KCS_PFMT_NO_DATA_SUPPORT_4_REQUEST and everything loads successfully, return KCS_SUCCESS.
Say, for example, you ask for a forward complete and the derivative also tries to load the reverse complete (for optimization). If the reverse receives an error but forward succeeds, KCS_SUCCESS is returned.
If nothing requested is available, return KCS_PFMT_NO_DATA_SUPPORT_4_REQUEST.