org.apache.jackrabbit.rmi.remote
Interface RemoteObservationManager

All Superinterfaces:
Remote
All Known Implementing Classes:
ServerObservationManager

public interface RemoteObservationManager
extends Remote

Remote version of the JCR ObservationManager interface. Used by the ServerObservationManager and ClientObservationManager adapter base classes to provide transparent RMI access to remote observation managers.

See the ObservationManager, ClientObservationManager, ServerObservationManager


Method Summary
 void addEventListener(long listenerId, int eventTypes, String absPath, boolean isDeep, String[] uuid, String[] nodeTypeName, boolean noLocal)
          Remote version of the ObservationManager.addEventListener() method.
 RemoteEventCollection getNextEvent(long timeout)
          Returns the next event to be dispatched to registered event listeners.
 void removeEventListener(long listenerId)
          Remote version of the ObservationManager.removeEventListener() method.
 

Method Detail

addEventListener

void addEventListener(long listenerId,
                      int eventTypes,
                      String absPath,
                      boolean isDeep,
                      String[] uuid,
                      String[] nodeTypeName,
                      boolean noLocal)
                      throws RepositoryException,
                             RemoteException
Remote version of the ObservationManager.addEventListener() method. See class comment for an explanation on how the listenerId is used.

Parameters:
listenerId - The identification of the listener on the client side to which events will be directed.
eventTypes - The mask of event types to be sent to this listener.
absPath - The root item defining a subtree for which events are to be delivered.
isDeep - true if the events from the complete subtree rooted at absPath are to be sent or only for the item at the given path.
uuid - An optional list of node UUIDs for which events are to be sent. If null this parameter is ignored.
nodeTypeName - An optional list of node type names for which events are to be sent. If null this parameter is ignored.
noLocal - true if only events are to be sent which do not originate from the session to which this instance belongs.
Throws:
RepositoryException - on repository errors
RemoteException - on RMI errors

removeEventListener

void removeEventListener(long listenerId)
                         throws RepositoryException,
                                RemoteException
Remote version of the ObservationManager.removeEventListener() method. See class comment for an explanation on how the listenerId is used.

Parameters:
listenerId - The identification of the listener on the client side to which events will be directed.
Throws:
RepositoryException - on repository errors
RemoteException - on RMI errors

getNextEvent

RemoteEventCollection getNextEvent(long timeout)
                                   throws RemoteException
Returns the next event to be dispatched to registered event listeners. If no event is available, this method blocks until one is available or until the given timeout expires.

Parameters:
timeout - The time in milliseconds to wait for the next event available to be dispatched. If negative or zero, this method waits for ever.
Returns:
The RemoteEventCollection to be dispatched. null is returned if the method timed out waiting for an event to be dispatched.
Throws:
RemoteException - on RMI errors


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.