Skip to main content


class Ens.BPL.UI.Diagram extends %Library.RegisteredObject, Ens.Util.PortalModelBase

Represents a BPL Diagram within the Studio graphical editor.

Property Inventory

Method Inventory


parameter XSPACE = 270;
Used for shape placement
parameter XSTART = 200;
Used for shape placement
parameter YSPACE = 100;
Used for shape placement
parameter YSTART = 150;
Used for shape placement


property Annotation as %String);
Annotation for this diagram
Property methods: AnnotationDisplayToLogical(), AnnotationGet(), AnnotationIsValid(), AnnotationLogicalToDisplay(), AnnotationLogicalToOdbc(), AnnotationNormalize(), AnnotationSet()
property BranchList as %String [ MultiDimensional ];
Transient list of branch elements within the diagram. Subscripted by Index.
Property methods: BranchListDisplayToLogical(), BranchListGet(), BranchListIsValid(), BranchListLogicalToDisplay(), BranchListLogicalToOdbc(), BranchListNormalize(), BranchListSet()
property Component as %Boolean;
Flag indicating whether this is a "Component" Business Process.
Property methods: ComponentDisplayToLogical(), ComponentGet(), ComponentIsValid(), ComponentLogicalToDisplay(), ComponentNormalize(), ComponentSet()
property Context as Ens.BPL.Context;
Definition of context for this diagram
Property methods: ContextGet(), ContextGetSwizzled(), ContextIsValid(), ContextNewObject(), ContextSet()
property ContextSuperClass as %String;
This holds the [ optional ] name of the context superclass
Property methods: ContextSuperClassDisplayToLogical(), ContextSuperClassGet(), ContextSuperClassIsValid(), ContextSuperClassLogicalToDisplay(), ContextSuperClassLogicalToOdbc(), ContextSuperClassNormalize(), ContextSuperClassSet()
property HasErrors as %Boolean [ InitialExpression = 0 ];
Set by BPL editor if there are logical errors within this diagram
Property methods: HasErrorsDisplayToLogical(), HasErrorsGet(), HasErrorsIsValid(), HasErrorsLogicalToDisplay(), HasErrorsNormalize(), HasErrorsSet()
property Height as %Integer (MAXVAL = 10000, MINVAL = 0) [ InitialExpression = 2000 ];
height of the diagram
Property methods: HeightDisplayToLogical(), HeightGet(), HeightIsValid(), HeightLogicalToDisplay(), HeightNormalize(), HeightSet()
property Includes as %String;
This holds an [ optional ] list of include files.
Property methods: IncludesDisplayToLogical(), IncludesGet(), IncludesIsValid(), IncludesLogicalToDisplay(), IncludesLogicalToOdbc(), IncludesNormalize(), IncludesSet()
property LabelList as %String [ MultiDimensional ];
Transient list of label elements within the diagram. Subscripted by Name.
Property methods: LabelListDisplayToLogical(), LabelListGet(), LabelListIsValid(), LabelListLogicalToDisplay(), LabelListLogicalToOdbc(), LabelListNormalize(), LabelListSet()
property Language as %String (MAXLEN = 20) [ InitialExpression = "objectscript" ];
This holds the language of the class
Property methods: LanguageDisplayToLogical(), LanguageGet(), LanguageIsValid(), LanguageLogicalToDisplay(), LanguageLogicalToOdbc(), LanguageNormalize(), LanguageSet()
property LastModified as %TimeStamp;
Time the source for this diagram was last modified
Property methods: LastModifiedDisplayToLogical(), LastModifiedGet(), LastModifiedIsValid(), LastModifiedLogicalToDisplay(), LastModifiedNormalize(), LastModifiedOdbcToLogical(), LastModifiedSet()
property Layout as %String (MAXLEN = 20) [ InitialExpression = "automatic" ];
This holds the layout flag for the diagram
Property methods: LayoutDisplayToLogical(), LayoutGet(), LayoutIsValid(), LayoutLogicalToDisplay(), LayoutLogicalToOdbc(), LayoutNormalize(), LayoutSet()
property Name as %String (MAXLEN = 50);
Name of this diagram
Property methods: NameDisplayToLogical(), NameGet(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNormalize(), NameSet()
property PyFromImport as %String;
This holds optional list of Python "from" and "import" statements supporting modules available to each Python sub-context.
Property methods: PyFromImportDisplayToLogical(), PyFromImportGet(), PyFromImportIsValid(), PyFromImportLogicalToDisplay(), PyFromImportLogicalToOdbc(), PyFromImportNormalize(), PyFromImportSet()
property Request as %String (MAXLEN = 255) [ Required ];
This holds the type of the input message
Property methods: RequestDisplayToLogical(), RequestGet(), RequestIsValid(), RequestLogicalToDisplay(), RequestLogicalToOdbc(), RequestNormalize(), RequestSet()
property Response as %String (MAXLEN = 255) [ Required ];
This holds the type of the output message
Property methods: ResponseDisplayToLogical(), ResponseGet(), ResponseIsValid(), ResponseLogicalToDisplay(), ResponseLogicalToOdbc(), ResponseNormalize(), ResponseSet()
property ShapeList as list of Shape;
List of all top-level shapes within this diagram.
Property methods: ShapeListBuildValueArray(), ShapeListCollectionToDisplay(), ShapeListCollectionToOdbc(), ShapeListDisplayToCollection(), ShapeListGet(), ShapeListGetObject(), ShapeListGetObjectId(), ShapeListGetSwizzled(), ShapeListIsValid(), ShapeListOdbcToCollection(), ShapeListSet(), ShapeListSetObject(), ShapeListSetObjectId()
property ShowAnnotation as %Boolean;
Flag indicating whether to show the annotation
Property methods: ShowAnnotationDisplayToLogical(), ShowAnnotationGet(), ShowAnnotationIsValid(), ShowAnnotationLogicalToDisplay(), ShowAnnotationNormalize(), ShowAnnotationSet()
property Version as %Integer (MINVAL = 0);
This holds the version # for the diagram
Property methods: VersionDisplayToLogical(), VersionGet(), VersionIsValid(), VersionLogicalToDisplay(), VersionNormalize(), VersionSet()
property Width as %Integer (MAXVAL = 10000, MINVAL = 0) [ InitialExpression = 2000 ];
width of the diagram
Property methods: WidthDisplayToLogical(), WidthGet(), WidthIsValid(), WidthLogicalToDisplay(), WidthNormalize(), WidthSet()


classmethod ArrangeShapes(xp As %Integer, yp As %Integer, shape As Shape, ByRef depthArray, ByRef widthArray)
Duplicate of client logic used to auto-arrange shapes
method ConvertToBPL(pOutStream As %BinaryStream, Output pConverted As %Boolean) as %Status
Convert this diagram to BPL
classmethod CreateBPLFromXML(pInStream As %Stream.Object, pOutStream As %Stream.Object) as %Status
Convert an xml diagram-document into a set of BPL objects
classmethod CreateDiagramFromBPL(pName As %String, pProcess As Ens.BPL.Process = "") as Diagram
Create a Diagram from a BPL parse tree
If pProcess is missing, create a default diagram.
classmethod CreateDiagramFromXML(pInStream As %Stream.Object, ByRef pDiagram As Diagram) as %Status
Convert an xml diagram-document into a Diagram and its related objects.
classmethod CreateNewDiagram(pName As %String) as Diagram
Create an empty default diagram (with start and end tags)
classmethod GetBPLStream(cls As %String, ByRef pXDataName As %String, ByRef pDesc As %String, Output pTimestamp As %TimeStamp, pConcurrency As %Integer = -1) as %Stream.Object
Find the BPL definition (as a stream) for the given BPL class; return "" if not found.
Returns if this is a BPL or an BPLError XDATA block Also returns Description for this class
method InsertShape(pShape As Shape, pParent As Shape = "")
Add a shape to this Diagram.
pParent, if present, is the parent shape to insert into.
classmethod Open(id As %String, ByRef pDiagram As Diagram, pConcurrency As %Integer = -1) as %Status
Called by Studio interface to open a diagram
classmethod ProcessGroup(diagram As Diagram, pParent As Shape, pActivities As Ens.BPL.ActivityList, pSequence As Ens.BPL.Activity)
Create a sub-group of shapes
method Serialize(pState As %CharacterStream)
Serialize this diagram for use by the editor.
classmethod WalkActivityList(diagram As Diagram, pParent As Shape, pActivities As Ens.BPL.ActivityList, ByRef xPos As %Integer, ByRef yPos As %Integer, ByRef prevAct As Shape, connectLabel As %String = "", connectCondition As %String = "", connectDisabled As %Boolean = 0, connectType As %String = "", connectLanguageOverride As %String = "")

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab