com.atlassian.crowd.manager.directory.monitor
Interface DirectoryMonitorManager

All Known Implementing Classes:
DirectoryMonitorManagerImpl

public interface DirectoryMonitorManager

Manages directory monitoring by allowing adding and removal of DirectoryMonitors. Once a monitor has been added via this manager, it will monitor the directory either via listening to remote mutation events or via polling the remote directory periodically. One directory can have at most one monitor. Implementations are required to be thread-safe.


Method Summary
 void addMonitor(RemoteDirectory directory)
          Adds a monitor to a particular directory.
 boolean hasMonitor(long directoryID)
          Determines whether a directory is currently being monitored.
 boolean removeMonitor(long directoryID)
          Removes a monitor from a monitored directory.
 

Method Detail

addMonitor

void addMonitor(RemoteDirectory directory)
                throws DirectoryInstantiationException,
                       DirectoryMonitorCreationException,
                       DirectoryMonitorRegistrationException,
                       DirectoryMonitorAlreadyRegisteredException
Adds a monitor to a particular directory.

Parameters:
directory - directory to monitor.
Throws:
DirectoryInstantiationException - if the raw remote directory cannot be instantiated.
DirectoryMonitorCreationException - if there was an error creating a monitor for the directory.
DirectoryMonitorRegistrationException - if there was an error registering the monitor.
DirectoryMonitorAlreadyRegisteredException - hasMonitor(directoryID) returns true.

removeMonitor

boolean removeMonitor(long directoryID)
                      throws DirectoryMonitorUnregistrationException
Removes a monitor from a monitored directory.

Parameters:
directoryID - directory ID.
Returns:
true if a monitor was removed.
Throws:
DirectoryMonitorUnregistrationException - if there was an error removing the monitor.

hasMonitor

boolean hasMonitor(long directoryID)
Determines whether a directory is currently being monitored.

Parameters:
directoryID - directory ID.
Returns:
true if an only if the directory is being monitored.


Copyright © 2012 Atlassian. All Rights Reserved.