Skip to main content
Verify the version tags to ensure you are consuming the intended content or, complete the latest version.

Inheritance and organization hierarchy specialization

Overview

Pattern inheritance is a particular type of class specialization within an existing work pool or can be leveraged to specialize applications according to organization structure.

The Pega class naming convention is displayed in the following table. There are two optional implicit hierarchies within each class name: organization and class specialization. In the following table, a class name can be formed using any combination of values from each of the three columns:

Optional Organization Optional application qualifier prefix plus standard Data/Work/Int prefixes Optional Class specialization
Org- [App-]Data-Class -A
Org-Div- [App-]Work-CaseType -B-C
Org-Div-Unit- [App-]Int-Class -B-D

Here are some CaseType class name examples using the pattern described in the table above:

Org-App-Work-CaseType

Org-App-Work-CaseType-B

Org-App-Work-CaseType-B-C

Pattern inheritance class specialization

For example, a parent case instantiating a child case class must have the right information to determine which pattern-inheritance implementing class to use. The class can be determined at run time based on the FSG-Data-Event.Category property, as shown in the example below. The parent case could also decide to change its class to a pattern-inheriting class using the same information.

Pattern inheritance

Assuming that the number of specialized classes is relatively small, pattern-inheritance specialization enhances maintenance when using the App Explorer within Dev Studio. All pattern-specialized rules are grouped by class and can be viewed in the App Explorer, broken down by rule category followed by rule type.

Class Explorer Pattern Inheritance Example
This figure shows how the Application Explorer would appear were the BookEvent case to be extended using pattern inheritance to support Music and Seminar related events.

Organization hierarchy specialization

The organizational structure of the company can be used to specialize case types or reuse component applications using direct inheritance.

For example, some companies are so large that you can write applications specifically for one division. The code within those applications is likely not shared with other divisions. For such scenarios, you specialize case type class names containing a division modifier. For example:

ORG-DIV-APP-[Work/Data/Int]-

Although rarely used, Pega Platform™ supports specialization down to the org unit level. In those situations, case type class names contain an org unit modifier. For example:

ORG-DIV-UNIT-APP-[Work/Data/Int]-

In this example, ORG-DIV-UNIT-APP-[Work/Data/Int]- org unit level classes could inherit directly from ORG-DIV-APP-[Work/Data/Int]- division level classes, thus allowing for specialization of the division level classes in the org unit level.

If any application within the organization can reuse component applications, you can specify the component applications as built-on applications by an enterprise layer application.

Similarly, component applications capable of being reused by any application within a specific division could be specified as built-on applications by a specific division layer application.


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

50% found this content useful

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice