IRISLIB database
Utils Class Reference

Static Public Member Functions

_.Library.Status ContractRuleSet (_.Library.DynamicArray actions)
 Transform provided rule definition JSON to match generated rule definition structure. More...
 
_.Library.Status ExpandRuleSet (_.Library.DynamicArray actions)
 Transform generated rule definition JSON to be more complete and internally consistent. More...
 
_.Library.Status GetInputPlugins (_.Library.String contextClassName, _.Library.DynamicArray plugins)
 Get properties and plugin metadata of an extended context class. More...
 
_.Library.Binary GetRulePerms ()
 Get permissions the current user has on rules. More...
 
_.Library.Integer HasKey (_.Library.DynamicObject parent, _.Library.String key)
 Check if 'parent' has key 'key'.
 
_.Library.Boolean HasPermsByAssistClass (_.Library.String assistClass, _.Library.String permStr, _.Library.Binary perms)
 Check if the current user has specified permissions on rules that use this assist class. More...
 
 HasPermsByRuleClass (_.Library.String ruleClass, _.Library.String permStr, _.Library.Binary perms)
 Check if the current user has specified permissions on this rule class. More...
 
_.Library.Boolean HasPermsByRuleType (_.Library.String ruleTypes, _.Library.String permStr, _.Library.Binary perms)
 Check if the current user has specified permissions on all rules in 'ruleTypes' input: More...
 
_.Library.Boolean IsReadOnly (_.Library.String ruleClass)
 Check if this 'ruleClass' is read only for this user. More...
 
_.Library.Integer IsSubClass (_.Library.String class, _.Library.String superClass)
 Check if the given 'class' is a subclass of 'superClass': More...
 
_.Library.Status SaveRule (_.Library.String ruleClass, _.Library.DynamicObject ruleDefinition)
 Save 'ruleDefinition' into class 'ruleClass'. More...
 
_.Library.Status evaluateRule (_.Library.RegisteredObject pContext, _.Library.String pRuleName, _.Library.String pRuleLogData, _.Library.String pDebugFlags, _.Library.Integer pSelectMode)
 Given a context object evaluate the rule and create result output as JSON.
 

Static Public Attributes

 WhenCommentDelimeter = None
 Comments on 'when's are stored in an attribute rather than an array of elements. More...
 

Member Function Documentation

◆ ContractRuleSet()

_.Library.Status ContractRuleSet ( _.Library.DynamicArray  actions)
static

Transform provided rule definition JSON to match generated rule definition structure.

Recursively iterate through the actions array of a ruleSet. Remove each action.expression.valueObject and move each action.expression.value to action.value. Rename each when.expression.value to when.condition and when.expression.valueObject to when.conditionObject and deserialize when.comments array into delimeted when.comment string. Performs inverse of ExpandRuleSet.

◆ ExpandRuleSet()

_.Library.Status ExpandRuleSet ( _.Library.DynamicArray  actions)
static

Transform generated rule definition JSON to be more complete and internally consistent.

Recursively iterate through the actions array of a ruleSet Rename each when.condition to match action.expression naming style and deserialize when.comment string into when.comments array. Performs inverse of ContractRuleSet.

◆ GetInputPlugins()

_.Library.Status GetInputPlugins ( _.Library.String  contextClassName,
_.Library.DynamicArray  plugins 
)
static

Get properties and plugin metadata of an extended context class.

The method arguments hold values for: namespace, Namespace to search for extensions in. contextClassName, Context class to get properties and plugin metadata of.

◆ GetRulePerms()

_.Library.Binary GetRulePerms ( )
static

Get permissions the current user has on rules.

Permissions are returned in a bitstring with the following mapping:
1: Ens_Rules Read
2: Ens_Rules Write
3: Ens_BusinessRules Read
4: Ens_BusinessRules Write
5: Ens_RoutingRules Read
6: Ens_RoutingRules Write

◆ HasPermsByAssistClass()

_.Library.Boolean HasPermsByAssistClass ( _.Library.String  assistClass,
_.Library.String  permStr,
_.Library.Binary  perms 
)
static

Check if the current user has specified permissions on rules that use this assist class.

Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by <METHOD>GetRulePerms</METHOD>.

◆ HasPermsByRuleClass()

HasPermsByRuleClass ( _.Library.String  ruleClass,
_.Library.String  permStr,
_.Library.Binary  perms 
)
static

Check if the current user has specified permissions on this rule class.

Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by <METHOD>GetRulePerms</METHOD>.

◆ HasPermsByRuleType()

_.Library.Boolean HasPermsByRuleType ( _.Library.String  ruleTypes,
_.Library.String  permStr,
_.Library.Binary  perms 
)
static

Check if the current user has specified permissions on all rules in 'ruleTypes' input:

valid values are "B" (Business Rules), "R" (Routing Rules), "A" (All Rules), and "*" (Any Rules). Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by <METHOD>GetRulePerms</METHOD>.

◆ IsReadOnly()

_.Library.Boolean IsReadOnly ( _.Library.String  ruleClass)
static

Check if this 'ruleClass' is read only for this user.

Class will be considered read only if the database underlying the namespace this rule is in is read only

◆ IsSubClass()

_.Library.Integer IsSubClass ( _.Library.String  class,
_.Library.String  superClass 
)
static

Check if the given 'class' is a subclass of 'superClass':

if class is guaranteed to be compiled use Extends instead.

◆ SaveRule()

_.Library.Status SaveRule ( _.Library.String  ruleClass,
_.Library.DynamicObject  ruleDefinition 
)
static

Save 'ruleDefinition' into class 'ruleClass'.

If a class 'ruleClass' exists it will be overwritten.

Member Data Documentation

◆ WhenCommentDelimeter

WhenCommentDelimeter = None
static

Comments on 'when's are stored in an attribute rather than an array of elements.

This string acts a the delimeter for the comment attribute on each when.