The DataSink Plug-In
DataSinks are used to persist output objects on the target system (e.g., on a database or an LDAP directory). A DataSink provides one method to persist an output object: export. Nevertheless, it may internally be implemented using CRUD operations (create, update, delete). How an export is done is completely implementation-specific. The DataSink implementation may make its decision based on attributes of the result object, any control value or its configuration. The following table lists the predefined operations.
Operation | Description |
---|---|
create | Create the object if it does not exist, do nothing otherwise. |
update | Update the object if it exists, do nothing otherwise. |
delete | Delete the object if it exists, do nothing otherwise. |
createOrUpdate | Create the update if it does not exist, otherwise update it. |
Not all implementations provide all operations.
Next to the export method a flush method is required. The flush method is responsible to write out the data onto the storage. Depending on the backed technology a flush operation is needed to make the changes persistent (e.g., commit for databases).