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 [ Language = objectscript ]
Collect Parser Errors into a single status value
method ParseActivity(pActivity As Ens.BPL.Activity, pIndex As %Integer, Output pStartChild As %String) [ Language = objectscript ]
Parse the common members of a BPL Activity
method ParseAnnotation(pActivity As Ens.BPL.Activity, pIndex As %Integer, Output pStartChild As %String) [ Language = objectscript ]
Parse an annotation
method ParseStream(pStream As %BinaryStream, Output pProcess As Ens.BPL.Process) as %Status [ Language = objectscript ]
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 [ Language = objectscript ]
Parse the Activity List
private method parseAlert(Output pAlert As Ens.BPL.Alert, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseAssign(Output pAssign As Ens.BPL.Assign, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseBranch(Output pBranch As Ens.BPL.Branch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse Branch statement
private method parseBreak(Output pBreak As Ens.BPL.Break, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCall(Output pCall As Ens.BPL.Call, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCaseNode(Output pCaseNode As Ens.BPL.CaseNode, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse the 'Case' statement
private method parseCatch(Output pCatch As Ens.BPL.Catch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCatchAll(Output pCatchAll As Ens.BPL.CatchAll, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCode(Output pCode As Ens.BPL.Code, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCompensate(Output pCompensate As Ens.BPL.Compensate, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseCompensationHandler(Output pCompensationHandler As Ens.BPL.CompensationHandler, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse a compensation handler
private method parseContext(Output pContext As Ens.BPL.Context, pChild As %String, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse the Context
private method parseContinue(Output pContinue As Ens.BPL.Continue, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseDelay(Output pDelay As Ens.BPL.Delay, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseEmpty(Output pEmpty As Ens.BPL.Empty, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseFlow(Output pFlow As Ens.BPL.Flow, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseForEach(Output pForEach As Ens.BPL.ForEach, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseIf(Output pIf As Ens.BPL.If, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse if statement
private method parseLabel(Output pLabel As Ens.BPL.Label, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse Label statement
method parseMessage(Output pMessage As Ens.BPL.Message, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseMessageActivities(ByRef pActivities As Ens.BPL.ActivityList, pIndex As %Integer, pParent As Ens.BPL.Node, pStartChild As %String = "") as %Status [ Language = objectscript ]
Parse the Message Activity List
private method parseMilestone(Output pMilestone As Ens.BPL.Milestone, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseProcess(Output pProcess As Ens.BPL.Process) as %Status [ Language = objectscript ]
Parse the Process
private method parseReceive(Output pReceive As Ens.BPL.Receive, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseReply(Output pReply As Ens.BPL.Reply, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseRule(Output pRule As Ens.BPL.Rule, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseSQL(Output pSQL As Ens.BPL.SQL, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseScope(Output pScope As Ens.BPL.Scope, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseSequence(Output pSequence As Ens.BPL.Sequence, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseSwitch(Output pSwitch As Ens.BPL.Switch, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
Parse switch statement
private method parseSync(Output pSync As Ens.BPL.Sync, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseThrow(Output pThrow As Ens.BPL.Throw, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseTrace(Output pTrace As Ens.BPL.Trace, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseTransform(Output pTransform As Ens.BPL.Transform, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseUntil(Output pUntil As Ens.BPL.Until, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseWhile(Output pWhile As Ens.BPL.While, pIndex As %Integer, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseXPATH(Output pXPATH As Ens.BPL.XPATH, pChild As %String, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]
private method parseXSLT(Output pXSLT As Ens.BPL.XSLT, pChild As %String, pParent As Ens.BPL.Node) as %Status [ Language = objectscript ]

Inherited Members

Inherited Methods (Including Private)