Post Processing of Region Data

The PostProcessor interface allows the definition of a callback
that is invoked after any and all client and gfsh operations that get data,
but before the data is returned.
It permits the callback to intervene and format the data
that is to be returned.
The callbacks do not modify the region data,
only the data to be returned.

The processRegionValue method is given the principal of the
operation requester.
The operation will already have been completed,
implying that the principal will have been authorized to complete
the requested operation.
The post processing can therefore format the returned data based
on the identity of the requester (principal).

The processRegionValue method is invoked for these API calls:

Region.get

Region.getAll

Query.execute

CqQuery.execute

CqQuery.executeWithInitialResults

CqListener.onEvent

for a relevant region event from CacheListener.afterUpdate for which
there is interest registered with Region.registerInterest

Care should be taken when designing a system that implements the
post processing callback.
It incurs the performance penalty of an extra method invocation
on every get operation.