Run

The Run package contains a set of interfaces and classes for the standard lifecycle of objects (opened, closed, openable, closable, runnable). In addition, it has several helper classes for lifecycle management.

Interfaces

ICleanable

Interface for components that should clean their states. Cleaning state most often is used during testing. But there may be situations when it can be done in production.

IClosable

Interface for components that require explicit closure. For components that require opening as well as closing,
use IOpenable interface instead.

IExecutable

Interface for components that can be called to execute work.

INotifiable

Interface for components that can be asynchronously notified. The notification may include an optional argument that describes the occured event.

IOpenable

Interface for components that require explicit opening and closing. For components that perform opening on demand consider using the IClosable interface instead.

IParameterized

Interface for components that require execution parameters.


Classes

Cleaner

Helper class that cleans a stored object’s state.

Closer

Helper class that closes previously opened components.

Executor

Helper class that executes components.

FixedRateTimer

Timer that is triggered in equal time intervals. It has a symmetric cross-language implementation and is often used by the Pip.Services toolkit to perform periodic processing and cleanup in microservices.

Notifier

Helper class that notifies components.

Opener

Helper class that opens components.

Parameters

Contains a map with execution parameters. In general, this map may contain non-serializable values. And in contrast with other maps, its getters and setters support dot notation and are able to access properties in the entire object graph. This class is often used to pass execution and notification arguments, and parameterize classes before execution.