Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / Ens.Rule.Router.RoutingRule
Private  Storage   

Ens.Rule.Router.RoutingRule


persistent class Ens.Rule.Router.RoutingRule extends
Ens.Rule.RuleDefinition

Legacy: defined the interface for Ensemble Routing rules.
Persistent routing rules were implemented as subclasses of this class. Now the EvaluateRulesEx() method serves as a passthrough to the new (as of Ensemble 2012.1) class-defined routing rules and business rules. The rest of the contents of this class serve for conversion from old rule imports to the new style rule class definitions, which are derived from Ens.Rule.Definition. If a rule is fired, it sets %ReturnValue to a list of actions. This is a string of the form "type:target:transform,type:target:transform...".

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 7 3


Summary


Properties
%ErrorMsg %Reason %ReturnValue %StackLevel
CompileStatus ContextClass Description DoAll
DocCategory DocName DocType EffectiveBeginDateTime
EffectiveEndDateTime FullName HasErrors HostClass
MsgClass Name Production ReportGroup
ReportName RoutineName Rules ShortDescription
Source TimeModified Version

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %BuildIndicesAsync
%BuildIndicesAsyncResponse %CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone %Delete
%DeleteExtent %DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Exists %ExistsId %Extends
%GUID %GUIDSet %GetLock %GetParameter
%GetSwizzleObject %Id %InsertBatch %IsA
%IsModified %IsNull %KillExtent %KillExtentData
%LoadFromMemory %LockExtent %LockId %New
%NormalizeObject %Notify %ObjectIsNull %ObjectModified
%Oid %OnBeforeAddToSync %OnDelete %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject Compile
ContextClassGet ConvertStorageGlobal EffectiveBeginDateTimeSet EffectiveEndDateTimeSet
Evaluate EvaluateRules EvaluateRulesEx Exists
GenerateCode GetLatestVersion GetTargetList Load
LoadFile NameSet Open OpenEffective
PurgeOldVersions PurgeRuleCache RecompileAll XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType


Parameters


• parameter COMPILABLE = 1;
Indicates if this Rule Engine supports compilation.
• parameter RULEEDITORURL = "UtilEnsRoutingRuleEditor.csp";
URL (csp page) for Rule Editor associated with the Rule Definition class.
• parameter XMLNAME = "routingRule";
This parameter provides the default XMLNAME for the class. If it is empty then the class name will be used to construct a default XML name. The default XMLNAME is used as the top level tag when exporting objects and the export context did not provide an XML container name.

Properties


• property DoAll as %Boolean(XMLNAME="doAll",XMLPROJECTION="attribute") [ InitialExpression = 0 ];
• property DocCategory as %String(MAXLEN=128,XMLNAME="docCategory",XMLPROJECTION="attribute");
Provides the default value for DocCategory for all rules within this RoutingRule set. (applies to virtual document messages only).
This is the document structure category name of a document structure name (DocType) For example in HL7 this is a schema version, e.g. "2.3.1".
• property DocName as %String(MAXLEN=2000,XMLNAME="docName",XMLPROJECTION="attribute");
Provides the default value for DocName for all rules within this RoutingRule set.
This is a comma-delimited list of document names (applies to virtual document messages only).
Each item in the list is tested against the document type name declared in the document.
• property DocType as %String(MAXLEN=2000,XMLNAME="docType",XMLPROJECTION="attribute");
Provides the default value for DocType for all rules within this RoutingRule set.
This is a comma-delimited list of message types (applies to virtual document messages only).
It pertains to the structure definition assigned in the DocType property of the message.
Each item in the list is tested against the DocType structure property assigned in the document. Each item in the list can may include a category name, which would override the value provided by DocCategory.
• property MsgClass as %String(MAXLEN=128,XMLNAME="msgClass",XMLPROJECTION="attribute");
Provides the default value for MsgClass for all rules within this RoutingRule set.
This is the name of the class used to contain the message.
• relationship Rules as Ens.Rule.Router.Rule(XMLNAME="rule",XMLPROJECTION="element") [ Inverse = RuleSet,Cardinality = children ];
Set of rules that make up the routing rule.
• property Source as %String(MAXLEN=128,XMLNAME="source",XMLPROJECTION="attribute");
Provides the default value for Source for all rules within this RoutingRule set.
This is the host name of the Business Service that sent this message to the Message Router.

Methods


• method Evaluate(pContext As %RegisteredObject) as %Status
Evaluate this routing rule. The resulting return value is returned via the %ReturnValue property.
• method GenerateCode(pCompiler As Ens.Rule.Compiler) as %Status
Generate executable code for this Rule This also creates a routing global as a side effect.
• classmethod GetTargetList(pHostClass As %String, pFullName As %String) as %String
Returns a csv-list of target names that are referred to by the specified Routing Rule. This is used by the routing BP to calculate its connection list.