Skip to main content
Skip table of contents

Mix-in interfaces

While your tool must implement one of the supported tool interfaces—InputTool, OutputTool, TransformTool, or GeneralTool—it may also implement extra "mix-in" interfaces to indicate to RPDM that it supports optional behavior. The optional interfaces start with the word "Has" or "Is" to indicate what optional behavior is being implemented. While explained in more detail elsewhere, these mix-in interfaces are summarized here.

HasDynamicConnectors

Implement net.redpoint.dataflow.transform.HasDynamicConnectors to indicate that your tool can add or remove data flow connectors depending on the configuration state. For example, your tool might have an option to read a table from either an input connection or from a file. It would return a different List<InputConnectorInfo> depending on this configuration setting.

HasDynamicUI

Implement net.redpoint.dataflow.transform.HasDynamicUI to indicate that your tool is capable of one or both of these things:

  • Responding to user actions such as button press, dropdown selection, or other configuration change.

  • Filling in "dynamic content" from external sources, such as populating a @DropList-annotated control with a list of database tables. Typically, such controls are also annotated with one of the @Dynamic annotations.

IsWebServiceEnabled

Implement net.redpoint.dataflow.transform.IsWebServiceEnabled to indicate that your SDK tool can run in a web service. This mostly means implementing the additional web service lifecycle methods webServicePrepare() and webServiceCleanup(), which are called before and after every request. Your tool will still get its prepare() call during web service startup, and get a cleanup() call during shutdown. In between, the web service lifecycle calls will be repeated, as indicated below:

Even if your tool is web service enabled, it may not always be running as a web service. To detect the web service state, set a boolean flag in the webServicePrepare() method. This can be used to tune batch behavior (optimized for large data, with threads and pipelines) from web-service behavior (reusing objects and connections, avoiding parallelism).

HasContextHelp

Implement net.redpoint.dataflow.transform.HasContextHelp to indicate that your SDK tool has associated contextual help. Override the getContextHelpTopic method so it returns the context help topic with which the tool is associated (e.g. CONTEXT_InternationalPhone).

Presently, HasContextHelp only supports linking to an existing Data Management HTML Help topic. In the future, support for embedded topic content will be introduced, allowing third-party SDK tools developers to add their own contextual help to Data Management's help system.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.