Skip to main content
Skip table of contents

CustomNode Class

Base class from which Custom Nodes derive and define behavior.


CODE
public abstract class CustomNode

Example

The following example defines an ExampleNode class that implements a Run method which gets a first name and last name from a Process' properties, and sets a full name to a third "Full Name" property.

CODE
public class ExampleNode : CustomNode 
{
    public override void Run()
    {
        var firstName = Process.Properties.GetSingleValue("First Name");
        var lastName = Process.Properties.GetSingleValue("Last Name");
        var fullName = $"{firstName} {lastName}";
        Process.Properties.SetSingleProperty("Full Name", fullName);
    }
}

Remarks

In order for your custom node to execute code during engine runtime, a class must be created that successfully inherits and implements either the 162169038 class, or the ActionNode or CaptureNode class that corresponds with the workflow type in which your node is placed. 

Since the CustomNode class is product agnostic, the classes and helpers available on it are defined as tthe base, product agnostic classes as well. However, at runtime, the classes provided to these properties can be casted to their derived types, like so: 

CODE
public class ExampleNode : CustomNode
{
    public override void Run()
    {
        if (Process is CaptureProcess captureProcess)
            captureProcess.Document.ClearPages();
    }
}

If you are designing a custom import node that defines a CaptureImporter or ActionImporter class, defining a node class within your assembly is optional, and will run on the processes created from your custom import methods.

The NodeDirectory field refers to a folder containing the files within the .s9n file executing on the process. This folder exists only as long as the specific process is executing the custom node, and is deleted when the Custom Node is finished.

If a CustomNode class is defined and a Run method is implemented on a Custom Import node, the code within the Run method will execute independently on every process spawned as a result of the Import Method (ActionImporter) or Import Method (CaptureImporter). Utilize this pattern to save space when a custom importer must perform actions specific to the processes it creates.

Properties

Represents the executing engine, containing methods and properties pertaining to engine information.

Represents a process in memory, containing properties, methods and classes for use in process manipulation.

Represents a node setting controlled by custom node interfaces within GlobalCapture.

Dictionary<string, string> Links 

List of available node links. You can move along these links by calling the SetNextNodeByLinkName function.

string NodeDirectory

Path to the directory containing files extracted from the custom node.

dynamic Workflow

Dynamic object containing the executing workflow. Changes made to this object will not be saved.


Methods

JavaScript errors detected

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

If this problem persists, please contact our support.