This page describes the base classes provided by OpenCloud as a convenience. The main goal is to provide a less verbose development and a common structure between different applications. These classes are not part of the specification but fully comply with it.
To use these classes, download the latest version of the library here or add the dependency to your Maven project as follows:
The com.opencloud.slee.services.base.BaseSbb class provides common methods and some convenience features. If you don't want to have such a verbose SBB classes and want a common implementation for all SBBs, your SBB can extend this class instead of directly implementing the interface java.slee.Sbb.
The following UML diagram shows you the difference for a simple application between directly implementing the SBB interface or extending the BaseSbb class.
If you extend the BaseSbb, you'll only have to implement the logic of the features you'll need to use (event handling, CMPs, etc). If you don't extend the BaseSbb, you'll have to implement all the methods of the javax.slee.Sbb interface.
Similar to the BaseSbb class described above, the com.opencloud.slee.services.base.BaseProfile class implements the methods requires by a Profile abstract class.
See below an UML diagram that shows the different between directly implementing the Profile or extending the BaseProfile class.