|
Qizx/db 2.1 API | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.qizx.api.util.accesscontrol.AccessControlBase
Base implementation of AccessControl usable for custom implementations.
This implementation offers a cache to speed-up access to permissions from a Library member.
Permissions are a mask of basic permissions CONTENT_READ, CONTENT_CHANGE, PROPERTY_READ, PROPERTY_CHANGE corresponding to the methods of AccessControl.
A concrete subclass needs to implement the method computePermissions() which return the permission mask each time a member is not found in the cache.
| Field Summary | |
protected static int |
CONTENT_CHANGE
Cached permission flag associated with a Library member |
protected static int |
CONTENT_READ
Cached permission flag associated with a Library member |
protected static int |
DEFINED
Cached flag associated with a Library member: indicates that permissions are defined. |
protected static int |
PROPERTY_CHANGE
Cached permission flag associated with a Library member |
protected static int |
PROPERTY_READ
Cached permission flag associated with a Library member |
| Constructor Summary | |
protected |
AccessControlBase(int cacheSize)
Default constructor. |
| Method Summary | |
protected void |
cachePermissions(LibraryMember member,
int perms)
Cached permissions for a Library member. |
protected void |
clearPermissions(LibraryMember member)
Erases permission from cache to force recomputation. |
protected abstract int |
computePermissions(LibraryMember member,
User user)
This method should be implemented by a concrete subclass: it is called when a library member is not found in cache. |
protected int |
findPermissions(User user,
LibraryMember member)
General method to obtain the permissions for a given user. |
protected int |
getCachedPermissions(LibraryMember member)
Gets cached permissions for a member. |
protected int |
getCacheSize()
Returns the current permission cache size. |
void |
reset()
Resets the internal state when the Library session is updated by a commit(), rollback(), refresh() or lock(). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.qizx.api.AccessControl |
copy, mayChangeContent, mayChangeProperty, mayReadContent, mayReadProperty |
| Field Detail |
protected static final int DEFINED
protected static final int CONTENT_READ
protected static final int CONTENT_CHANGE
protected static final int PROPERTY_READ
protected static final int PROPERTY_CHANGE
| Constructor Detail |
protected AccessControlBase(int cacheSize)
| Method Detail |
protected int getCacheSize()
public void reset()
AccessControlThis method typically clears internal permission caches in order to recompute permissions properly.
reset in interface AccessControl
protected int findPermissions(User user,
LibraryMember member)
user - the user associated with the XML Library session that owns
this access control. It should never change.member - concerned object of the Library
protected abstract int computePermissions(LibraryMember member,
User user)
throws DataModelException
member - concerned object of the Libraryuser - user concerned by the access control
DataModelException - if access problemprotected int getCachedPermissions(LibraryMember member)
cachePermissions(LibraryMember, int) (CONTENT_READ etc)
member - library member of interest
protected void cachePermissions(LibraryMember member,
int perms)
member - library member of interestperms - a mask like returned by findPermissionsprotected void clearPermissions(LibraryMember member)
member - library member of interest
|
© 2008 Axyana Software | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||