Explanation of the Common Library



Overview

Common Classes

Classes that are not specific to any domain are called common classes and are placed in the common library – which is implemented as a new jar library to be used by the domains.

Typically, utility classes such as loggers or classes doing generic calculation or data conversions (e.g., serialize/de-serialize data) or classes that are needed by many domains, for example, entity classes for data used across domains or DTO classes passed across domains, will be marked as common classes.

In most of the views, common classes are represented by red circles attached to the class name, while non-common classes are represented by blue circles.


Managing Common Classes and Packages

You can mark and unmark individual classes as common or you can mark an entire package as common, in which case, all the classes under that package become common.

To unmark a package as common, you need to open the Analysis Parameters dialog (click Configure Parameters under ACTIONS) and delete the package from the Common Class Matching field.

A common class cannot have a direct dependency on a non-common class and this is enforced by the analysis. For example, if class A is has a direct dependency to class B, then marking A as common will automatically mark B as common too.

A class that has an operation marked as an entry point, meaning one that triggers a flow in a domain, cannot be marked as common since this class must belong to that domain. This also means that package cannot become common if one of the classes in that package has an entry point operation.