Custom BOM properties allow you to attach information to business elements. A set of predefined custom properties that you can use for value management and dynamic domains is provided with ILOG Rule Studio.
Property |
Element |
Value |
Description |
domainValueProviderName |
Class |
String |
Name of the extension point defined to integrate a BOM domain value provider. This property must be set on a class that defines a dynamic domain. |
valueInfo |
Attribute |
String |
Key of a registered value info.
The value info is associated with the navigation phrase and the argument placeholder of the action phrase associated with this attribute in the vocabulary. |
valueInfo[arg] |
Method |
String |
Key of a registered value info. This value info is associated with the argument arg of the method. |
constraint[arg] |
Method |
Number |
Expresses a constraint between two value infos associated with two arguments of a method. The placeholder for arg1 is constrained by the placeholder arg2. |
valueDescriptor |
Class |
String |
Key of a registered value descriptor for this class. |
valueEditor |
Class |
String |
Key of a registered value editor for this class. |
sortIndex |
Static Reference |
Number |
Allows setting an order among static references when used in business rule editors.
Note that if the sorting is locale-specific, it should be specified in the vocabulary file.
For example, Day of week Monday can be set in the first position in the boot vocabulary file as follows:
ilog.rules.brl.DayOfWeek.Monday#label = Monday
ilog.rules.brl.DayOfWeek.Monday#sortIndex = 1 |
valueType |
Class |
Boolean |
Allows considering a BOM type as a pure value type. Pure value types are excluded from the rule language, so that you cannot define binding on them. It is the case of all predefined types, like Number, String, Date, and so on. |
valueTranslator |
Class |
String |
Key of a registered value translator for this class. |
defaultValue |
Class |
String |
Defines the text to be displayed when this member is inserted into the Intellirule Editor. For example, the defaultValue for a String is double quotes "". |
noTruncation |
Method |
Boolean |
When set to true, phrases in the Guided editor drop-down lists are not truncated. For example, the phrase is between becomes is between <a number> and <a number>. |
alias |
Class |
String |
Used by decision table and trees to activate syntax checking and the automatic fill-in feature.
On user types that behave like numbers, the possible values are integer or float. |
hiddenType |
Class |
Boolean |
Used to filter the class from IRL code completion. Usually used to tag a BOM class only used by the vocabulary. |
excludeFromPrediction |
Any |
Boolean |
Used to exclude the corresponding element from the completion menu of business rule editors. |
DecoratedValueDescriptor.suffix
DecoratedValueDescriptor.prefix |
Class |
String |
When set on a class, allows you to specify a suffix or a prefix to a value. Must be used with a decorated value descriptor, designated by the following property:
property valueDescriptor "<type>#Decorated(<decorated type>)"
In the following example, literal values of Day types are Numbers with a suffix of d:
package ilog.rules.brl;
public class Days
property valueDescriptor "ilog.rules.brl.Days#Decorated(ilog.rules.brl.Number)"
property "DecoratedValueDescriptor.suffix" "d" |
valueTranslator |
Class |
String |
With or without the suffix .irl, attached to a class to specify a value translator class. |
translation |
Any |
String |
With or without the suffix .irl, specified on a class or a member to indicate a custom translation code template, or legacy translation properties. |
Style |
Any |
String |
Applies graphical styling in the BAL rule editor. Used as follows: -
When set on a class, lets you apply a style to literal values of this class.
-
When set on a method or an attribute, the style is applied on the phrase mapped to the element. Possible values are: marker, keyword, separator, target, variable, placeHolder, string, number, constant.
The graphical rendering of a style is specified in the language properties files (bal.properties for the BAL language). A style defines a combination of font, font attributes (bold/italic/underline), and background and foreground colors. |
semanticAction[arg] |
Member |
String |
An action applied when building the syntax tree. The action is invoked to fill the syntax tree with semantic information.
When building the syntax tree, the actions are invoked from bottom to top and from left to right.
A semantic action is an implementation of the abstract class ilog.rules.brl.semantic.IlrBRLSemanticAction and can be declared using semanticAction[arg]. You can attach a semantic action to the 'this' of this method by using the semanticAction[this] property. |
leadingThisSemanticFilter |
Method |
String |
A type of semantic filter (see semanticFilter) invoked on a sentence that has a place holder in the first position. For example: <object> is null
The sentence has a place holder in the first position, so this semantic filter can be applied to check if the sentence "is null" can be predicted on the object in the first position. For example, if you do not want to predict "is null" on a value type. The syntax tree node that represents the object is given in the context of the filter.
This property is an implementation of ilog.rules.brl.semantic.IlrBRLLeadingSemanticFilter. |
propagateAssignableArgumentType |
Method |
Boolean |
This property applies to a method with at least one argument. Like propagateArgumentType, but there is no assigned order to the propagation. The property implies that arguments of a sentence must be subtypes.
For example, if you apply the property to the sentence <object1> is <object2>, the <object2> type is a subtype of the <object1> type, or the <object1> type is a subtype of the <object2> type. In this case the property is applied to all the roles of the sentence (from the first, to all).
This property can be specified on Object.is(Object) to propagate the type 'this' to the method argument. |
propagateArgumentType |
Method |
Boolean |
This property must be attached to a method with at least one argument.
Used for Business Rule languages, this property allows you to propagate the type of the first role (the 'this') to all arguments of the methods. Arguments of the method must be of 'this' type or a subclass.
For example, if this property is attached to Object.is(Object), then arguments of this method must be an instance of a subclass of the object on which the method is called. |