Any Java class with a constructor that takes no arguments can be instantiated as a Nucleus component, which gives you a wide degree of latitude when you create component classes. However, these classes should implement certain interfaces that give components access to a number of Nucleus capabilities, such as automatic creation, configuration, and notifications.

The easiest way to implement these interfaces is to subclass atg.nucleus.GenericService, which implements all interfaces described in the following sections. However, your class might already extend some other class, thereby preventing you from extending GenericService. In this case, your class must implement the necessary interfaces.

Note: Your class does not need to implement all interfaces that GenericService implements, only the ones with the functionality required.