Click or drag to resize

NodeParent class

Function: Base class for nodes with children: NodeList and NodeConnector.
Inheritance hierarchy

Namespace: LogicalTaskTree
Assembly: LogicalTaskTree (in LogicalTaskTree.dll) Version: 1.0.0+df0404e911d6c38eaed3bb1bb1acfc482d417643
Syntax
public abstract class NodeParent : LogicalNode

The NodeParent Type exposes the following members.

Constructors
 NameDescription of the
Public MethodNodeParent(LogicalNode, JobList, TreeParameters) Constructor for a snapshot dummy element - forwards the processing to the "LogicalNode" base class.
Public MethodNodeParent(String, LogicalNode, JobList, TreeParameters) Constructor - passes the processing to the "LogicalNode" base class.
Back to the top
Properties
 NameDescription of the
Public PropertyBreakWithResult A subtree may already have a clear logical result, before all the children have finished their processing. If BreakWithResult=True, these are then cancelled if the no triggers are active on the branch in question.
(Inherited from LogicalNode)
Public PropertyCanTreeStart Indicates whether a (partial) tree can be started, i.e. that a node with children all its children can be started (recursively) or in the case of an end node (checker) without children this can be started itself.
(Inherited from LogicalNode)
Public PropertyChildren List of the children of a node.
(Inherited from GenericTreeT)
Public PropertyDebugMode Additional test outputs can be made for True. Default: False.
(Inherited from LogicalNode)
Public PropertyHookedTo Contains comma-separated TreeParams.Name and IdInfo of the nodes in whose Events this NodeParent has mounted or the text "NULL".
Public PropertyId The unique identifier of the node.
(Inherited from LogicalNode)
Public PropertyIdInfo The unique identifier of the node (identical to the property Id).
(Inherited from LogicalNode)
Public PropertyIdPath Path to the node reduced to a chain of Ids separated by '/'.
(Inherited from LogicalNode)
Public PropertyInitNodes If True, all nodes in the tree are reset when this node is started. Can be used for loops in controlled jobs. Default: false.
(Inherited from LogicalNode)
Public PropertyIsActive If true, the subtree/node is in an active (started) state.
(Inherited from LogicalNode)
Public PropertyIsGlobal If true, this node is created as a reference node if anywhere in the tree (not only in the current job) the name of the node has already been found. If false, the system only searches for nodes with the same name in the current job. Default: false.
(Inherited from LogicalNode)
Public PropertyIsInSleepTime Returns true if a rest period defined by the user is currently in progress. for Vishnu actors (checkers) is running.
(Inherited from LogicalNode)
Public PropertyIsInSnapshot With True, this LogicalNode is located within a snapshot.
(Inherited from LogicalNode)
Public PropertyIsSnapshotDummy With True, this node is only used for display and does not allow any other functions.
(Inherited from LogicalNode)
Public PropertyLastExecutingTreeEvent The last triggering TreeEvent (for TreeEvent-triggered nodes) or zero.
(Inherited from LogicalNode)
Public PropertyLastLogical The last logical state of a node. For accessing the states of child nodes without re-initiate the determination of the statuses. Reduces the processor load.
(Inherited from LogicalNode)
Public PropertyLastLogicalState The last result state of a node. For accessing the states of child nodes without re-initiate the determination of the statuses. Reduces the processor load.
(Inherited from LogicalNode)
Public PropertyLastNotNullLogical Flag field for the last state of Logical that was not zero; is required so that workers are only started when the state of Logical has changed significantly and not every time, when the checker is working (Logical = zero).
(Inherited from LogicalNode)
Public PropertyLastResult Result for this node.
(Inherited from LogicalNode)
Public PropertyLastRun Time of the last start of the node.
(Inherited from LogicalNode)
Protected PropertyLastSingleNodesFinished The last number of completed end node children of a node. For accessing the states of child nodes without re-initiate the determination of the statuses. Reduces the processor load.
Public PropertyLastState The last processing state of a node. For accessing the states of child nodes without re-initiate the determination of the statuses. Reduces the processor load.
(Inherited from LogicalNode)
Public PropertyLevel The hierarchy level of the node.
(Inherited from LogicalNode)
Public PropertyLevelInfo The hierarchy level of the node (identical to the property level).
(Inherited from LogicalNode)
Public PropertyLockName Optional name used for global locking. Is used if ThreadLocked is set.
(Inherited from LogicalNode)
Public PropertyLogger An optional logger that is activated for certain events is called or null.
(Inherited from LogicalNode)
Public PropertyLogical The logical state of a node; this is ultimately what the entire processing.
(Inherited from LogicalNode)
Public PropertyLogicalState The result state of the node: None, Start, Done, Fault, Timeout, UserAbort.
(Inherited from LogicalNode)
Public PropertyName "Human-friendly" representation of the node.
(Inherited from LogicalNode)
Public PropertyNameId Combination of name and Id of the node.
(Inherited from LogicalNode)
Public PropertyNameInfo "Human-friendly" representation of the node.
(Inherited from LogicalNode)
Public PropertyNextRun Time of the next start of the node (if known) or DateTime.MinValue.
(Inherited from LogicalNode)
Public PropertyNextRunInfo Info text about the next start of the node (if known) or null.
(Inherited from LogicalNode)
Public PropertyNodeType The node type: None, NodeConnector, ValueModifier, JobConnector, Constant, Checker, NodeList, JobList, Snapshot.
(Inherited from LogicalNode)
Public PropertyParentView The parent control in which this node is displayed.
(Inherited from LogicalNode)
Public PropertyPath The path to the node consisting of a chain of NameIds separated by '/': NameId is Name + "(" + Id + ")" for nodes with Name != null, only Id with name = null.
(Inherited from LogicalNode)
Public PropertyPathInfo The path to the node (identical to the Path property).
(Inherited from LogicalNode)
Public PropertyReferencedNodeId Id of an originally referenced node or null.
(Inherited from LogicalNode)
Public PropertyReferencedNodeName Name of an originally referenced node or null.
(Inherited from LogicalNode)
Public PropertyReferencedNodePath Path of an originally referenced node or null.
(Inherited from LogicalNode)
Public PropertySingleNodes Number of SingleNodes (ultimately checkers) at the end of a (sub)tree.
(Inherited from LogicalNode)
Public PropertySingleNodesFinished Percentage value for the proportion of terminated SingleNodes (ultimately checker) at the end of a (partial) tree.
(Inherited from LogicalNode)
Public PropertySleepTimeFrom The start of a possible rest period.
(Inherited from LogicalNode)
Public PropertySleepTimeTo The end of a possible rest period.
(Inherited from LogicalNode)
Public PropertyStartCollapsed With True, the job is displayed collapsed at startup if the UI supports this.
(Inherited from LogicalNode)
Public PropertyState The processing status of a node: None, Waiting, Working, Finished, Triggered, Ready (= Finished | Triggered), CanStart (= None|Ready), Busy (= Waiting | Working).
(Inherited from LogicalNode)
Public PropertyThreadLocked If True, each thread is locked via the class so that non-thread-safe checkers are serialized; Default: False;
(Inherited from LogicalNode)
Public PropertyTreeParams Additional parameters, some that apply to the entire tree validity and some node-specific parameters or zero.
(Inherited from LogicalNode)
Public PropertyTrigger An optional trigger that calls the job repeatedly or null (internally overrides BreakWithResult).
(Inherited from LogicalNode)
Public PropertyTriggeredRunDelay Delays the start of a node (and InitNodes). Can be used for loops in controlled jobs. Default: 0 (milliseconds).
(Inherited from LogicalNode)
Public PropertyTypeInfo The node type: None, NodeConnector, ValueModifier, Constant, Checker. NodeTypes
(Inherited from LogicalNode)
Public PropertyUserControlPath The path to the UserControl currently to be loaded dynamically.
(Inherited from LogicalNode)
Public PropertyWorkersState A collective status for all assigned workers.
(Inherited from LogicalNode)
Back to the top
Methods
 NameDescription of the
Public MethodBreak If necessary, log out of the trigger, Cancel the task via CancellationToken, set status.
(Inherited from LogicalNode)
Public MethodCanControlledTreeStart Specifies whether a (sub)tree can be started in a JobController, i.e. that the node and all its parents can be started (recursively).
(Inherited from LogicalNode)
Public MethodClimb2Top Shimmies up through the tree (up to the root) and calls up the action for each node.
(Inherited from GenericTreeT)
Protected MethodDoRun The actual, node type-specific processing; must be overwritten.
(Inherited from LogicalNode)
Public MethodEquals Compares the content of this LogicalNode according to logical aspects with the content of a transferred LogicalNode.
(Inherited from LogicalNode)
Protected MethodFindEventTriggers Searches for relevant triggers for an event.
(Inherited from LogicalNode)
Public MethodFindNodeById A derivative of LogicalNode can use this to create its own thread cause it to be cancelled.
(Inherited from LogicalNode)
Public MethodFreeChildAt Releases the event links with the child node at the index index and then calls Dispose for the child node if necessary.
Public MethodGetEnvironment Returns the ConcurrentDictionary Environment as simple Dictionary Results. Use the internal routine GetResultsFromResultList().
(Inherited from LogicalNode)
Public MethodGetHashCode Generates a hash code for this LogicalNode.
(Inherited from LogicalNode)
Public MethodGetlastEventSourceIfIsTreeEventTriggered Updates the values for TreeEvent-triggered nodes of the node before continuing to work with them. Is important in situations in which either the knot is the triggering TreeEvent has missed (at program start) or another TreeEvent was faster and led to a reaction, which leads to the current values of the node is required (JobSnapshotTrigger).
(Inherited from LogicalNode)
Public MethodGetResults Returns the ConcurrentDictionary ResultList as a simple Dictionary Results. Use the internal routine GetResultsFromResultList().
(Inherited from LogicalNode)
Public MethodGetTopRootJobList Returns the topmost Root-JobList valid for the node.
(Inherited from LogicalNode)
Public MethodInitFromNode Sets certain properties to the values of the transferred LogicalNode "source".
(Inherited from LogicalNode)
Protected MethodInitNode Resets the node to the start settings.
(Inherited from LogicalNode)
Public MethodInvalidate Deletes internal caches so that everything is re-evaluated.
(Inherited from LogicalNode)
Protected MethodMarkThreadAsInvalidIfActive Adds thread to the list of invalid threads, if the thread is still active.
(Inherited from LogicalNode)
Protected MethodOnLastNotNullLogicalChanged Triggers the NodeLastNotNullLogicalChanged event.
(Inherited from LogicalNode)
Protected MethodOnNodeBreaked Triggers the NodeBreaked event.
(Inherited from LogicalNode)
Protected MethodOnNodeProgressChanged Triggers the NodeProgressChanged event.
(Inherited from LogicalNode)
Public MethodOnNodeProgressFinished Triggers the NodeProgressFinished event.
(Inherited from LogicalNode)
Protected MethodOnNodeProgressStarted Triggers the NodeStarted event.
(Inherited from LogicalNode)
Protected MethodOnNodeWorkersStateChanged Triggers the NodeWorkersStateChanged event.
(Inherited from LogicalNode)
Public MethodProcessTreeEvent Triggers further processing for the current TreeEvent (trigger, logger).
(Inherited from LogicalNode)
Protected MethodRaiseNodeLastNotNullLogicalChangedWithTreeEvent Triggers the TreeEvent "AnyLastNotNullLogicalHasChanged" and calls "OnNodeLastNotNullLogicalChanged".
(Inherited from LogicalNode)
Protected MethodRaiseNodeLogicalChanged Encapsulates the call of the non-inheritable NodeLogicalChanged event for for the derived classes NodeList and JobList. This routine ultimately forwards the event to the UI via NodeLogicalChanged.
(Inherited from LogicalNode)
Public MethodRefresh Ensures immediate re-evaluation of all cashed statuses.
(Inherited from LogicalNode)
Public MethodRegisterTriggeredNodes Registers all triggered nodes of a subtree with their triggers.
(Inherited from LogicalNode)
Public MethodReleaseChildAt Releases the event links with the child node at the index index.
Public MethodReload Is called up when the subtree is to be reloaded.
(Inherited from LogicalNode)
Protected MethodResetAllTreeEventTriggeringNodes Resets all nodes in the subtree on which others depend via TreeEvent.
(Inherited from LogicalNode)
Protected MethodResetAllTreeNodes Resets all nodes in the entire tree.
(Inherited from LogicalNode)
Protected MethodResetPartTreeNodes Resets all nodes in the subtree from branch.
(Inherited from LogicalNode)
Public MethodRun Checks whether a node can be started and then starts the node, its trigger, or both (via StartNodeOrTrigger).
(Inherited from LogicalNode)
Public MethodSetChildAt Saves the child node at the transferred index and attaches itself to the events of the child node.
Public MethodSetTreeCollapsed Sets the StartCollapsed property for an entire (sub)tree.
(Inherited from LogicalNode)
Protected MethodSetWorkersState Sets a common (combined) NodeWorkerState 'WorkersState' for all NodeWorkers. Returns NodeWorkersState.
(Inherited from LogicalNode)
Protected MethodSubNodeExceptionCleared Is triggered if an exception has been deleted in a child. Cascades the resolution of a previous exception up to the root node. Parent nodes with multiple children (NodeList) in turn generate an ExceptionCleared event only if no child node is still holding an exception.
Protected MethodSubNodeExceptionRaised Is triggered if an exception has occurred in a child. Cascades the exception up to the root node without cancelling processing.
Protected MethodSubNodeLastNotNullLogicalChanged Is triggered if the logical state "LastNotNullLogical" of a child has changed. This event is decisive for a possible change in the logical state of the parent node. Can be triggered by SingleNodes and ParentNodes through to the root node. The original trigger is always a SingleNode. May cascade upwards in the tree to the root node.
Protected MethodSubNodeLogicalChanged Is triggered if the current logical result of the child node has changed. Is triggered by a SingleNode. Continues in the tree only up to the direct parent node.
Protected MethodSubNodeProgressChanged Is activated when the processing progress changes. of the referenced original node has changed. Continues in the tree only up to the direct parent node.
Protected MethodSubNodeProgressFinished Is triggered when processing of the child node is complete. May cascade in the tree up to the root node. Parent nodes with multiple children (NodeList) in turn generate a NodeProgressFinished event only when the processing of all child nodes has been completed.
Protected MethodSubNodeProgressStarted Is triggered when processing of the child node has been started. May cascade upwards in the tree to the root node. Parent nodes with multiple children (NodeList) in turn generate a NodeProgressStarted event only if this is the first (and so far only) child whose processing has been started.
Protected MethodSubNodeResultChanged Is triggered if the result of a child node has changed. Cascades upwards in the tree to the root node.
Protected MethodSubNodeStateChanged Is activated when the processing status of a child has changed. Is triggered by a SingleNode. Continues in the tree only up to the direct parent node.
Protected MethodThreadUpdateLastLogical Sets threadsafe LastLogical.
(Inherited from LogicalNode)
Protected MethodThreadUpdateLastLogicalState Sets threadsafe LastLogicalState.
(Overwrites LogicalNodeThreadUpdateLastLogicalState(NodeLogicalState))
Protected MethodThreadUpdateLastSingleNodesFinished Sets threadsafe LastSingleNodesFinished.
Protected MethodThreadUpdateLastState Sets threadsafe LastState.
(Inherited from LogicalNode)
Public MethodToString Overridden ToString() method.
(Inherited from LogicalNode)
Public MethodTraverse(ActionInt32, T) Goes recursively through the tree and calls the action for each node.
(Inherited from GenericTreeT)
Public MethodTraverse(FuncInt32, T, Object, Object) Goes recursively through the tree and calls the action for each node.
(Inherited from GenericTreeT)
Protected MethodTraverse(Int32, ActionInt32, T) Recursive auxiliary routine for the public routine 'Traverse'.
(Inherited from GenericTreeT)
Protected MethodTraverse(Int32, FuncInt32, T, Object, Object, Object) Recursive auxiliary routine for the public routine 'Traverse'.
(Inherited from GenericTreeT)
Protected MethodUnMarkThreadAsInvalid Removes thread from the list of invalid threads.
(Inherited from LogicalNode)
Public MethodUnregisterTriggeredNode Sets the subtree to non-startable.
(Inherited from LogicalNode)
Public MethodUserBreak Is called up if the subtree has been deliberately stopped by the user.
(Inherited from LogicalNode)
Public MethodUserRun Starts the processing of this node after a start by the user. Gives the information that the start by the user in the TreeEvent to Run.
(Inherited from LogicalNode)
Back to the top
Events
 NameDescription of the
Public EventExceptionCleared Is called when an exception is cleared.
(Inherited from LogicalNode)
Public EventExceptionRaised Is called if an exception has occurred.
(Inherited from LogicalNode)
Public EventNodeLastNotNullLogicalChanged Called when the logical result of a node has changed and is not equal to zero.
(Inherited from LogicalNode)
Public EventNodeLogicalChanged Is called when the logical result of a node has changed.
(Inherited from LogicalNode)
Public EventNodeProgressChanged Is called up when the processing progress of a node has changed.
(Inherited from LogicalNode)
Public EventNodeProgressFinished Is called when the processing of a node has been completed (regardless of the result).
(Inherited from LogicalNode)
Public EventNodeProgressStarted Is called up when a node has been started.
(Inherited from LogicalNode)
Public EventNodeResultChanged Is called up when the result of a node has changed. Serves to optimise the calculation of the logical state of the superordinate restart the node.
(Inherited from LogicalNode)
Public EventNodeStateChanged Is called up when the processing status of a node has changed.
(Inherited from LogicalNode)
Public EventNodeWorkersStateChanged Called when the overall status of the node assigned to the assigned worker has changed.
(Inherited from LogicalNode)
Public EventPropertiesChanged This event from IVishnuNode.INotifyPropertiesChanged can be subscribed to by LogicalNodeViewmodel. This receives a string list with property names via the transferred PropertiesChangedEventArgs and can in turn inform the UI via INotifyProperyChanged.
(Inherited from LogicalNode)
Back to the top
Fields
 NameDescription of the
Protected Field_lastRun Time of the last start of the node (internal field).
(Inherited from LogicalNode)
Protected Field_nextRunInfo Info text about the next start of the node (if known) or null (internal field).
(Inherited from LogicalNode)
Protected Field_parentViewLocker Used to block thread-safe access to ParentView.
(Inherited from LogicalNode)
Protected FieldAppSettings Application settings.
(Inherited from LogicalNode)
Protected FieldCancellationToken The CancellationTokenSource can be used to set this token to cancellation, which in this node leads to the call of the cancelNotification routine.
(Inherited from LogicalNode)
Protected FieldExceptionLocker Used to temporarily block exceptions.
(Inherited from LogicalNode)
Protected FieldIsRunRequired True: the node should be started.
(Inherited from LogicalNode)
Protected FieldIsTaskActiveOrScheduled True: the node is currently active or controlled by a timer.
(Inherited from LogicalNode)
Public FieldLastExceptions Exception that occurred during the last run or null;
(Inherited from LogicalNode)
Protected FieldLastLogicalLocker Used to temporarily block LastLogical.
(Inherited from LogicalNode)
Protected FieldLastLogicalStateLocker Used to temporarily lock LastLogicalState.
(Inherited from LogicalNode)
Protected FieldLastSingleNodesFinishedLocker Used to temporarily block LastSingleNodesFinished.
Protected FieldLastStateLocker Used to temporarily block LastState.
(Inherited from LogicalNode)
Public FieldMother The owner of the node.
(Inherited from GenericTreeT)
Protected FieldResultLocker Used to temporarily block results.
(Inherited from LogicalNode)
Public FieldRootJobList Next higher JobList for this node or the node itself, if it is a JobList.
(Inherited from LogicalNode)
Protected FieldSubLastNotNullLogicalLocker Used to temporarily block LastLogical.
(Inherited from LogicalNode)
Protected FieldSubNodeStateChangedLocker Used to temporarily lock for resetting (invalidating) different for the determination of the current status of the ParentNode important Counter.
Protected FieldThreadRefreshParentNodeLocker Used to temporarily lock for resetting (invalidating) different for the determination of the current status of the ParentNode important Counter.
Public FieldTreeRootJobList Top JobList.
(Inherited from LogicalNode)
Back to the top
Remarks
File: NodeParent.cs Author: Erik Nagel 03.06.2018 Erik Nagel: created
See also