Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [Ens] >  [BPL] >  [UI] >  [Diagram]
Private  Storage   

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

Represents a BPL Diagram within the Studio graphical editor.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 20 13


Summary

Properties
Annotation BranchList Component Context
ContextSuperClass HasErrors Height Includes
LabelList Language LastModified Layout
Name PyFromImport ReadOnly Request
Response ShapeList ShowAnnotation Timestamp
Version Width

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
ArrangeShapes ConvertToBPL CreateBPLFromXML CreateDiagramFromBPL
CreateDiagramFromXML CreateNewDiagram GetBPLStream InsertShape
Open ProcessGroup Serialize WalkActivityList


Parameters

• 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

Properties

• property Annotation as %String(MAXLEN="");
Annotation for this diagram
• property BranchList as %String [ MultiDimensional ];
Transient list of branch elements within the diagram. Subscripted by Index.
• property Component as %Boolean;
Flag indicating whether this is a "Component" Business Process.
• property Context as Ens.BPL.Context;
Definition of context for this diagram
• property ContextSuperClass as %String;
This holds the [ optional ] name of the context superclass
• property HasErrors as %Boolean [ InitialExpression = 0 ];
Set by BPL editor if there are logical errors within this diagram
• property Height as %Integer(MAXVAL=10000,MINVAL=0) [ InitialExpression = 2000 ];
height of the diagram
• property Includes as %String;
This holds an [ optional ] list of include files.
• property LabelList as %String [ MultiDimensional ];
Transient list of label elements within the diagram. Subscripted by Name.
• property Language as %String(MAXLEN=20) [ InitialExpression = "objectscript" ];
This holds the language of the class
• property LastModified as %TimeStamp;
Time the source for this diagram was last modified
• property Layout as %String(MAXLEN=20) [ InitialExpression = "automatic" ];
This holds the layout flag for the diagram
• property Name as %String(MAXLEN=50);
Name of this diagram
• property PyFromImport as %String;
This holds optional list of Python "from" and "import" statements supporting modules available to each Python sub-context.
• property Request as %String(MAXLEN=255) [ Required ];
This holds the type of the input message
• property Response as %String(MAXLEN=255) [ Required ];
This holds the type of the output message
• property ShapeList as list of Shape;
List of all top-level shapes within this diagram.
• property ShowAnnotation as %Boolean;
Flag indicating whether to show the annotation
• property Version as %Integer(MINVAL=0);
This holds the version # for the diagram
• property Width as %Integer(MAXVAL=10000,MINVAL=0) [ InitialExpression = 2000 ];
width of the diagram

Methods

• 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 = "")


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.