Class GroupsHandlerImpl

  • All Implemented Interfaces:
    BasicGroupListViewFactoryAccessor, GroupListViewFactoryAccessor, GroupsHandler, GroupsHandlerInternal

    @Component
    public class GroupsHandlerImpl
    extends BaseNetworkedHandlerImpl
    implements GroupsHandlerInternal
    Implementation for GroupsHandler.

    WARNING: All methods returning a collection of (basic)groups are to be implemented in this class (and NOT in GroupServiceImpl). If needed, the implementation is delegated to SessionData. Rule of thumb for placing implementations of group retrieving methods:
    • filtering away disabled groups is always done in GroupsHandler and never in SessionData.
    • Other filtering is preferable done in GroupsHandler.
    • Cases in which the returned result depends on the type of the Session (User, System, Guest), are (logically) placed in SessionData.
    • Queries are placed in SessionData if they are simple and don't filter on disabled groups. More complicated filtering via the query is done in GroupsHandler, except when the result depends on the Session type.