Package org.eclipse.emf.cdo.server
Class CDOServerUtil.RepositoryReadAccessValidator
java.lang.Object
org.eclipse.emf.cdo.server.CDOServerUtil.RepositoryReadAccessValidator
- All Implemented Interfaces:
IRepository.Handler
,IRepository.ReadAccessHandler
- Enclosing class:
- CDOServerUtil
public abstract static class CDOServerUtil.RepositoryReadAccessValidator
extends Object
implements IRepository.ReadAccessHandler
An abstract
read-access handler
that grants or denies access to single
revisions
.- Since:
- 2.0
- Author:
- Eike Stepper
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
handleRevisionsBeforeSending
(ISession session, CDORevision[] revisions, List<CDORevision> additionalRevisions) Provides a way to handle revisions that are to be sent to the client.protected void
throwException
(String message) protected void
throwException
(ISession session, List<String> violations) protected abstract String
validate
(ISession session, CDORevision revision)
-
Constructor Details
-
RepositoryReadAccessValidator
public RepositoryReadAccessValidator()
-
-
Method Details
-
handleRevisionsBeforeSending
public void handleRevisionsBeforeSending(ISession session, CDORevision[] revisions, List<CDORevision> additionalRevisions) throws RuntimeException Description copied from interface:IRepository.ReadAccessHandler
Provides a way to handle revisions that are to be sent to the client.- Specified by:
handleRevisionsBeforeSending
in interfaceIRepository.ReadAccessHandler
- Parameters:
session
- The session that is going to send the revisions.revisions
- The revisions that are requested by the client. If the client must not see any of these revisions an unchecked exception must be thrown.additionalRevisions
- The additional revisions that are to be sent to the client because internal optimizers believe that they will be needed soon. If the client must not see any of these revisions they should be removed from the list.- Throws:
RuntimeException
- to indicate that none of the revisions must be sent to the client. This exception will be visible at the client side!
-
throwException
- Throws:
RuntimeException
-
throwException
- Throws:
RuntimeException
-
validate
-