Categories

A category is a filter applied to business rules and to business elements such as classes and members.

A category is an identifier that you can assign to business rules and certain business elements (classes and members) in order to filter which business rules can use which business elements. A rule can use a business element if the rule category filter specifies at least one of the categories assigned to the business element. Only business elements that a rule can see appear in the rule editor drop-down list. You can assign one or more categories to Business Object Model (BOM) classes and members, or to a business rule category filter.

By default, all business rules, classes and members belong to the predefined category any. All rules can see the any category, whatever the category filter in use. The default, therefore, is that all classes and members can be used in all business rules.

Note:

System BOM elements have no category, so are hidden from any business rule regardless of which rule category filter the rule uses.

Before you can use a category, you must define it at rule project level. If you define a category in a project that is referenced by another project, the category is usable in both projects.

There is no inheritance between classes and members, but you can assign the same category to all members of the same class.

For information on using categories, see:

Table 1. Category usage summary
If a business element has the category... And the business rule category filter is... In that business rule, the business element is...
any any visible
any another category visible
another category any visible
category1 and category2 category1 visible
category1 and category2 category2 visible
category1 and category2 category1 and category2 visible
category1 and category2 category3 and category4 hidden

Example

In your Business Object Model, you have a Car class with a category vehicle. You also have a rule project that contains a business rule CarRentalRule, which has vehicle in its category filter. From CarRentalRule, you can see all the classes that have the category vehicle, as well as all classes that have the any category. CarRentalRule can therefore see the Car class.

If you then define a category sales and assign it to a class Customer, you will not see the Customer class in the rule editor drop-down list for the rule CarRentalRule. If you still decide to use the Customer class in the business rule, it will be reported as a warning.

Categories

Similarly, if the Car class has a member with a category other than vehicle, you cannot use this member in the conditions and actions for CarRentalRule, even though you can define a variable of the Car type in the definitions part of the rule.