This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > ENSLIB namespace > Ens.BPL.Parser

Ens.BPL.Parser

class Ens.BPL.Parser extends %Library.RegisteredObject

This class parses the BPL source and returns the root of the parse tree that represents the Business Process Class

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

property ActivityCount as %Integer [ InitialExpression = 0 ];
This holds the ActivityID counter
Property methods: ActivityCountDisplayToLogical(), ActivityCountGet(), ActivityCountIsValid(), ActivityCountLogicalToDisplay(), ActivityCountNormalize(), ActivityCountSet()
property Key as %Integer [ Private ];
This holds the ^||%ISC.Ens.BPLData key where the parsed BPL data is found
Property methods: KeyDisplayToLogical(), KeyGet(), KeyIsValid(), KeyLogicalToDisplay(), KeyNormalize(), KeySet()

Methods (Including Private)

method CollectBPLErrors() as %Status
Collect Parser Errors into a single status value
method ParseActivity(pActivity As Ens.BPL.Activity, pIndex As %Integer, Output pStartChild As %String)
Parse the common members of a BPL Activity
method ParseAnnotation(pActivity As Ens.BPL.Activity, pIndex As %Integer, Output pStartChild As %String)
Parse an annotation
method ParseStream(pStream As %BinaryStream, Output pProcess As Ens.BPL.Process) as %Status
This is the entry point to the parser, a stream containing the XML BPL definition is passed and an instance of Ens.BPL.Process is returned. Validation of the XML is performed according to the associated schema (see Ens.BPL.Schema) On Success an instance of Ens.BPL.Process is returned. On failure, the status code contains one or more error codes. In the case of an 'Invalid BPL' error, additional information form the Schema Validator will be contained in the return status
private method parseActivities(ByRef pActivities As Ens.BPL.ActivityList, pIndex As %Integer, pParent As Ens.BPL.Node, pStartChild As %String = "", ByRef pEndChild As %String) as %Status
Parse the Activity List
private method parseAlert(Output pAlert As Ens.BPL.Alert, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseAssign(Output pAssign As Ens.BPL.Assign, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseBranch(Output pBranch As Ens.BPL.Branch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse Branch statement
private method parseBreak(Output pBreak As Ens.BPL.Break, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCall(Output pCall As Ens.BPL.Call, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCaseNode(Output pCaseNode As Ens.BPL.CaseNode, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse the 'Case' statement
private method parseCatch(Output pCatch As Ens.BPL.Catch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCatchAll(Output pCatchAll As Ens.BPL.CatchAll, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCode(Output pCode As Ens.BPL.Code, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCompensate(Output pCompensate As Ens.BPL.Compensate, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseCompensationHandler(Output pCompensationHandler As Ens.BPL.CompensationHandler, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse a compensation handler
private method parseContext(Output pContext As Ens.BPL.Context, pChild As %String, pParent As Ens.BPL.Node) as %Status
Parse the Context
private method parseContinue(Output pContinue As Ens.BPL.Continue, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseDelay(Output pDelay As Ens.BPL.Delay, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseEmpty(Output pEmpty As Ens.BPL.Empty, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseFlow(Output pFlow As Ens.BPL.Flow, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseForEach(Output pForEach As Ens.BPL.ForEach, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseIf(Output pIf As Ens.BPL.If, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse if statement
private method parseLabel(Output pLabel As Ens.BPL.Label, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse Label statement
method parseMessage(Output pMessage As Ens.BPL.Message, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseMessageActivities(ByRef pActivities As Ens.BPL.ActivityList, pIndex As %Integer, pParent As Ens.BPL.Node, pStartChild As %String = "") as %Status
Parse the Message Activity List
private method parseMilestone(Output pMilestone As Ens.BPL.Milestone, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseProcess(Output pProcess As Ens.BPL.Process) as %Status
Parse the Process
private method parseReceive(Output pReceive As Ens.BPL.Receive, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseReply(Output pReply As Ens.BPL.Reply, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseRule(Output pRule As Ens.BPL.Rule, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseSQL(Output pSQL As Ens.BPL.SQL, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseScope(Output pScope As Ens.BPL.Scope, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseSequence(Output pSequence As Ens.BPL.Sequence, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseSwitch(Output pSwitch As Ens.BPL.Switch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
Parse switch statement
private method parseSync(Output pSync As Ens.BPL.Sync, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseThrow(Output pThrow As Ens.BPL.Throw, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseTrace(Output pTrace As Ens.BPL.Trace, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseTransform(Output pTransform As Ens.BPL.Transform, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseUntil(Output pUntil As Ens.BPL.Until, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseWhile(Output pWhile As Ens.BPL.While, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status
private method parseXPATH(Output pXPATH As Ens.BPL.XPATH, pChild As %String, pParent As Ens.BPL.Node) as %Status
private method parseXSLT(Output pXSLT As Ens.BPL.XSLT, pChild As %String, pParent As Ens.BPL.Node) as %Status

Inherited Members

Inherited Methods (Including Private)

FeedbackOpens in a new window