Class ChangeObserver
- java.lang.Object
-
- jetbrains.buildServer.configuration.ChangeObserver
-
- Direct Known Subclasses:
FileWatcher
public class ChangeObserver extends java.lang.Object
Component watches for changes provided byChangeProvider
s and notifies about changesChangeListener
s. Providers and listeners are registered using corresponding add/remove methods.Interval of checking for changes is set in constructor. Note: all change observers reuse single thread. Please ensure that both watchers and listeners work fast enough.
-
-
Constructor Summary
Constructors Constructor Description ChangeObserver(long intervalForCheckingsMsecs)
ChangeObserver(long intervalForCheckingsMsecs, java.util.concurrent.ScheduledExecutorService scheduler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkForModifications()
Performs unscheduled checking for modifications.void
clear()
Clears all of the listeners and change providersvoid
clearListeners()
Removes all listeners from change observerlong
getSleepingPeriod()
Returns sleeping periodvoid
registerChangeProvider(ChangeProvider provider)
Registers ChangeProvidervoid
registerListener(ChangeListener listener)
Registers ChangeListenervoid
runActionWithDisabledObserver(java.lang.Runnable runnable)
Runs the specified runnable with disabled observer.void
setSkipListenersNotification(boolean value)
Disables or enables change listeners notificationvoid
setSleepingPeriod(long time)
Sets sleeping period in this observer.static void
shutdownAll()
Shutdowns all of the change observersvoid
start()
Starts observervoid
stop()
Stops observervoid
unregisterChangeProvider(ChangeProvider provider)
Removes ChangeProvidervoid
unregisterListener(ChangeListener listener)
Removes previously registered ChangeListener
-
-
-
Constructor Detail
-
ChangeObserver
public ChangeObserver(long intervalForCheckingsMsecs)
- Parameters:
intervalForCheckingsMsecs
- how often should ask related ChangeProviders for changes
-
ChangeObserver
public ChangeObserver(long intervalForCheckingsMsecs, @NotNull java.util.concurrent.ScheduledExecutorService scheduler)
- Parameters:
intervalForCheckingsMsecs
- how often should ask related ChangeProviders for changes
-
-
Method Detail
-
registerListener
public void registerListener(@NotNull ChangeListener listener)
Registers ChangeListener- Parameters:
listener
- ChangeListener
-
unregisterListener
public void unregisterListener(@NotNull ChangeListener listener)
Removes previously registered ChangeListener- Parameters:
listener
- ChangeListener
-
registerChangeProvider
public final void registerChangeProvider(@NotNull ChangeProvider provider)
Registers ChangeProvider- Parameters:
provider
- ChangeProvider
-
unregisterChangeProvider
public void unregisterChangeProvider(@NotNull ChangeProvider provider)
Removes ChangeProvider- Parameters:
provider
- ChangeProvider
-
start
public void start()
Starts observer
-
stop
public void stop()
Stops observer
-
shutdownAll
public static void shutdownAll()
Shutdowns all of the change observers
-
setSleepingPeriod
public void setSleepingPeriod(long time)
Sets sleeping period in this observer. The new value will be used on the next schedule.- Parameters:
time
- sleeping period
-
getSleepingPeriod
public long getSleepingPeriod()
Returns sleeping period- Returns:
- sleeping period
-
clear
public void clear()
Clears all of the listeners and change providers
-
clearListeners
public void clearListeners()
Removes all listeners from change observer
-
setSkipListenersNotification
public void setSkipListenersNotification(boolean value)
Disables or enables change listeners notification- Parameters:
value
- if true change listeners will be notified (default)
-
runActionWithDisabledObserver
public void runActionWithDisabledObserver(@NotNull java.lang.Runnable runnable)
Runs the specified runnable with disabled observer. After the runnable finishes the observer continues to watch for changes.- Parameters:
runnable
- runnable
-
checkForModifications
public void checkForModifications()
Performs unscheduled checking for modifications.
-
-