## 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 java.lang.Object
implements IRepository.ReadAccessHandler

Since:
  2.0

Constructor Summary
`CDOServerUtil.RepositoryReadAccessValidator()`

Method Summary
`void` `handleRevisionsBeforeSending(ISession session, CDORevision[] revisions, java.util.List<CDORevision> additionalRevisions)` Provides a way to handle revisions that are to be sent to the client.
`protected void` `throwException(ISession session, java.util.List<java.lang.String> violations)`
`protected void` `throwException(java.lang.String message)`
`protected abstract java.lang.String` `validate(ISession session, CDORevision revision)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CDOServerUtil.RepositoryReadAccessValidator

    public CDOServerUtil.RepositoryReadAccessValidator()

Method Detail

### handleRevisionsBeforeSending

    public void handleRevisionsBeforeSending(ISession session,
                                             CDORevision[] revisions,
                                             java.util.List<CDORevision> additionalRevisions)
                                      throws java.lang.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 interface `IRepository.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:
    `java.lang.RuntimeException` - to indicate that none of the revisions must be sent to the client. This exception will be visible at the client side!

### throwException

    protected void throwException(ISession session,
                                  java.util.List<java.lang.String> violations)
                           throws java.lang.RuntimeException

  Throws:
    `java.lang.RuntimeException`

### throwException

    protected void throwException(java.lang.String message)
                           throws java.lang.RuntimeException

  Throws:
    `java.lang.RuntimeException`

### validate

    protected abstract java.lang.String validate(ISession session,
                                                 CDORevision revision)

Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others. All Rights Reserved.