Class that contains references to Block Api objects.
One general use-case for this is for applications to indirectly get a handle
on the Block Api objects and implement operations that (i) depend on the
Block Api interfaces, (ii) are not in the context of a Piece when defined,
and (iii) are in the context of a Piece when executed.
To do this, as opposed to defining an application as a
your application as a
NOTE: Depending on the context in which this class is used, some of the
handles may not be set. For instance, the
is not set when
this is in the context of a worker. Trying to get access to a handle when
it is not set will result in a runtime exception. Instead, you should first
use methods like the
The *Api fields are transient as we do not need/want to serialize them. They
will be set at the appropriate time by the framework.