Class Marking
Each event in a DCR graph has state, known in academic literature as a marking. This class encapsulates that state.
Inheritance
Namespace: DCR
Assembly: Engine.dll
Syntax
public class Marking : Object
Remarks
Setting properties in this class does not directly mutate the state of the underlying DCR graph. To actually mutate event state, you must fetch the Marking, update it, and write it back, like this:
Path p = new Path("A"); Marking m = graph.GetMarking(p); m.Included = True graph.SetMarking(p, m);
Constructors
Marking()
Declaration
public Marking()
Marking(String)
Construct the default marking with the given label.
Declaration
public Marking(string label)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | label |
Marking(String, XElement)
Construct the default marking with the given label and custom XML.
Declaration
public Marking(string label, XElement custom)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | label | |
| System.Xml.Linq.XElement | custom |
Properties
Custom
XML serialisation of the Custom part of the underlying event. Will throw if the event was not constructed from XML serialization.
Declaration
public XElement Custom { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Xml.Linq.XElement | Stored XML |
Remarks
The set implementation clones the given XElement.
Data
Data value
Declaration
public Value Data { get; set; }
Property Value
| Type | Description |
|---|---|
| Value | Current data value of the event. |
Remarks
Do not set this to null.
Deadline
Current deadline
Declaration
public Nullable<DateTimeOffset> Deadline { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> | Current deadline |
Remarks
This property cannot be used to clear the pending state; use
the Pending property for that.
This property will be null if the event has an expression other than a date as its deadline. This situation occurs only for un-initialised graphs.
Executed
Executed state
Declaration
public Nullable<DateTimeOffset> Executed { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTimeOffset> |
|
Remarks
This property will be null if the event has an expression other than a date as its initialisation time. This situation occurs only for un-initialised graphs.
Form
Indicate if this event likely contains a form
Declaration
public bool Form { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | Returns |
Remarks
For internal use by the DCR forms engine. Note that Form maybe false
even though Kind is Form.
Included
Included state
Declaration
public bool Included { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | True if the event is currently included, otherwise false |
Remarks
An event is considered "excluded" if it is not included.
Kind
The Kind of the event
Declaration
public EventKind Kind { get; set; }
Property Value
| Type | Description |
|---|---|
| EventKind | Enumeration value indicating the kind of event (Activity, Nesting, Subprocess) |
Remarks
The result of setting this to Nesting. when there is no children is undefined. The result of setting this to Activity. when the event contains children is undefined.
Label
The label of the event
Declaration
public string Label { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String | The label value |
Remarks
The label is the user-visible name of the event. It is not required to be unique. The label is never changed unilaterally by the engine.
Pending
Pending state
Declaration
public bool Pending { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | If true, the event is pending with or without a deadline. If set to true, the event becomes pending with no deadline. |
Roles
Roles
Declaration
public IEnumerable<string> Roles { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<System.String> | Roles assigned to the event. |
Remarks
Set not implemented yet
Methods
ToString()
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| System.String |