Node and parser factory behavior
The node factory and the parser factory assume roles in declaring a message flow node to the integration node or defining a parser.
Each loadable implementation library (LIL) has one node factory, or one parser factory, or has both. A node factory can identify many message flow nodes, and a parser factory can identify many parsers.
When the integration node loads the LIL, it calls the following functions:
bipGetMessageflowNodeFactory
After the operating system has loaded and initialized the LIL, the integration node calls initialization function
bipGetMessageflowNodeFactory
. ThebipGetMessageflowNodeFactory
function calls the utility functioncniCreateNodeFactory
, which passes back a factory name (or group name) for all the message flow nodes that your LIL supports.bipgetparserfactory
After the operating system has loaded and inoitialized the LIL, the integration node calls initialization function
bipgetparserfactory
. Thebipgetparserfactory
function defines the name of the factory that the user-defined parser supports, and the classes of objects, or shared object, that the factory supports. The initialization functionbipgetparserfactory
calls the utility functioncpiCreateParserFactory
, which passes back a factory name (or group name) for all the parsers that your LIL supports.
Before the node factory is returned, the integration node calls the following functions:
- cniCreateNodeFactory
This function creates a single instance of the node factory in the integration node.
- cndDefineNodeClass
This function defines the name of a node class that a node factory supports, and identifies the nodes that the node factory can create.
Before the parser factory is returned, the integration node calls the following functions:
- cpiCreateParserFactory
This function creates a single instance of the named parser factory in the integration node.
- cpiDefineParserClass
This function defines the name of a parser class that a parser factory supports, and identifies the parsers that the factory can create.