Package org.xiruss.repository.multiuser.api

Defines APIs for multi-user repositories.

See:
          Description

Interface Summary
MultiUserRepository A repository that manages access by multiple concurrent users.
Session Xiruss Repository server session.
User  
 

Class Summary
NullSession  
NullUser  
 

Package org.xiruss.repository.multiuser.api Description

Defines APIs for multi-user repositories. There is nothing inherent in the SnapCM model or the base API that implies or requires multi-user support. The design of the XIRUSS system reflects the fact that issues of multi-user support (and by implication, authentication and permissions) are decisions and details left to specific repository implementations. There are many SnapCM use cases that are strictly single-user (for example, doing versioning just during the course of a single editing session involving a single user). By the same token, there are many ways to manage multiple users, sessions, and authentication. Therefore, a specific repository implementation is responsible for defining the details of how users and sessions work and how authentication and permission checking is done. In addition, the expectation is that permissions can be most easily implemented using aspects (athough it wouldn't be hard to implement it in implementation-specific specializations of the base classes involved. This API does assume that there are users, who represent agents acting against the repository, and sessions, representing a single interaction session for a given user.