pip-services3-components-node
Version:
Component definitions for Pip.Services in Node.js
35 lines (32 loc) • 1.21 kB
text/typescript
/** @module build */
/**
* Interface for component factories.
*
* Factories use locators to identify components to be created.
*
* The locators are similar to those used to locate components in references.
* They can be of any type like strings or integers. However Pip.Services toolkit
* most often uses Descriptor objects as component locators.
*/
export interface IFactory {
/**
* Checks if this factory is able to create component by given locator.
*
* This method searches for all registered components and returns
* a locator for component it is able to create that matches the given locator.
* If the factory is not able to create a requested component is returns null.
*
* @param locator a locator to identify component to be created.
* @returns a locator for a component that the factory is able to create.
*/
canCreate(locator: any): any;
/**
* Creates a component identified by given locator.
*
* @param locator a locator to identify component to be created.
* @returns the created component.
*
* @throws a CreateException if the factory is not able to create the component.
*/
create(locator: any): any;
}