pip-services3-commons-node
Version:
Portable abstractions and patterns for Pip.Services in Node.js
39 lines (38 loc) • 1.08 kB
TypeScript
/** @module commands */
import { CommandSet } from './CommandSet';
/**
* An interface for commandable objects, which are part of the command design pattern.
* The commandable object exposes its functonality as commands and events groupped
* into a [[CommandSet CommandSet]].
*
* This interface is typically implemented by controllers and is used to auto generate
* external interfaces.
*
* @see [[CommandSet]]
*
* ### Example ###
*
* export class MyDataController implements ICommandable, IMyDataController {
* private _commandSet : MyDataCommandSet;
*
* public getCommandSet(): CommandSet {
* if (this._commandSet == null)
* this._commandSet = new MyDataCommandSet(this);
* return this._commandSet;
* }
*
* ...
* }
*
* @see [[CommandSet]] examples
*/
export interface ICommandable {
/**
* Gets a command set with all supported commands and events.
*
* @returns a command set with commands and events.
*
* @see [[CommandSet]]
*/
getCommandSet(): CommandSet;
}