/// <summary> /// Constructor. /// </summary> /// <param name="nodeType">The type of the Node.</param> /// <param name="name">This node class's identifying name.</param> /// <param name="displayName">The Display name to show.</param> /// <param name="description">The description of the Element</param> /// <param name="creator">The person who created this element</param> /// <param name="outputType">This node class's output's data type</param> /// <param name="mainClass">This is the MainClass in the java world</param> /// <param name="needsOtherClasses">The other classes needed for the Java class to work</param> /// <param name="neededExtras">The Extras needed for the Class.</param> /// <param name="configuration">The Configuration to display.</param> /// <param name="proxyProperties">The Proxy properties to display to the outside</param> /// <param name="inputTypes">This node class's input's data types</param> /// <param name="userCreated">If the element is user created</param> /// <param name="nodePath">The File-Path to the root of the node in the file system</param> protected AbstractNodeClass(ClassManager.NodeType nodeType, string name, string displayName, string description, string creator, DataType outputType, string mainClass, string[] needsOtherClasses, INeedsExtra[] neededExtras, ConfigElement[] configuration, ProxyProperty[] proxyProperties, DataType[] inputTypes, bool userCreated, string nodePath) { if (String.IsNullOrWhiteSpace(name)) { throw new ArgumentException("String argument 'name' must not be null or empty (incl. whitespace).", nameof(name)); } if (nodeType == ClassManager.NodeType.Transformation && (inputTypes == null || inputTypes.Length == 0)) { throw new ArgumentException("There must be input types given for a transformation node class", nameof(inputTypes)); } this.Name = name; this.DisplayName = displayName; this.Description = description; this.Creator = creator; this.OutputType = outputType; this.InputTypes = inputTypes ?? new DataType[0]; this.MainClass = mainClass; this.NeedsOtherClasses = needsOtherClasses ?? new string[0]; this.NeededExtras = neededExtras ?? new INeedsExtra[0]; this.Configuration = configuration ?? new ConfigElement[0]; this.ProxyProperties = proxyProperties ?? new ProxyProperty[0]; this.NodeType = nodeType; this.UserCreated = userCreated; this.NodePath = nodePath; }
public AbstractNodeLoader(ClassManager.NodeType nodeType, ClassManager cManager) { this.cManager = cManager; this.nodeType = nodeType; }