The Entry object
Entry objects holds attributes and data values read from, and written to, connected systems. Attribute values can be Java objects, strings, integers or timestamps. Entry objects are be database rows, files, Lotus Notes documents, or HTTP pages. All data, from any source that IBM Security Directory Integrator works with, are stored internally as entry objects with Attributes and their values.
Hierarchical Entry objects are supported, in the AssemblyLine and by some of the components that can be part of an AssemblyLine. The Entry object is extended to provide several convenient methods for dealing with hierarchical data, although by default, this is hidden and only comes into play if you explicitly enable it, or use it with components that require the hierarchical features. It also implements org.w3c.dom.Document, which makes it the top level Node in the hierarchy.
There are a handful of entry objects that are created and maintained by SDI. The most visible instance is called the Work entry, and it serves as the main data carrier in an AssemblyLine (AL). This is the bucket used to transport data down the AL, passing from one component to the next.
The Work Entry is available for use in scripting through the pre-registered variable work, giving you direct access to the Attributes being handled by an AssemblyLine (and their values). Furthermore, all Attributes carried by the Work entry are displayed in the Config Editor, under the Work Attribute header in the Attribute Maps area in the AssemblyLine Editor window of an AssemblyLine.
Entry types
There are a number of data objects that reside in AssemblyLines that follow the Entry data model. These are:The Connector Flow diagrams in SDI v7.2 Reference Guide will show you which of these objects are available under which circumstances.
- Work
- This is the aforementioned Entry that travels from component to component in the AssemblyLine, and carries data between them. Its pre-registered variable name is work, and is available for use in scripting almost everywhere1.
- Conn
- This is the Entry-like object that a Connector uses as an intermediary between the connected system and the AssemblyLine, before you make the data, or a subset thereof, available in the Work Entry. The process of moving data between Conn and Work is called Attribute Mapping. Its pre-registered variable name is conn, and is available for use in scripting inside many of the Hooks in Connectors and Function Components.
- Current®
- This Entry-like object is available inside certain Hooks in Connectors in Update mode, and holds the data from the connected system before any updates have been applied to it. Its pre-registered variable name is current.
- Error
- This Entry-like object only exists in certain Hooks in Components, when some error condition has occurred and the relevant Error Hook has been invoked. It contains information about the actual exception that was thrown, with possibly some additional variables and data, enabling you to pinpoint what exactly caused the error. Its pre-registered variable name is error.
See also
Internal data model: Entries, Attributes and Values.
Parent topic:
General Concepts1 When the AssemblyLine you are working with is not called with an Initial Work Entry, then the work object is not available until after the Prolog hooks. In the Prolog hooks we can have code as follows:
if (work != null) { // An Initial work Entry has been provided, we can get values from there .... some code } else { // No initial work Entry has been provided ... some other code }