org.drools.io
Interface ResourceChangeNotifier


public interface ResourceChangeNotifier

ResourceChangeListeners can subscribe to the notifier to receive ChangeSet info when results they are subscribed to change. The ResourceChangeNotifier itself is not monitoring resources for changes, instead it delegates to added ResourceChangeMonitor implementations. When a ResourceChangeListener subscribes to a Resource that subscription is delegated to the added monitors.

This interface, as well as ChangeSet, ResourceChangeMonitor, esourceChangeListener and ResourceChangeScanner are still considered subject to change. Use the XML format change-set, as part of the ResourceType api when adding to KnowledgeBuilder, which is considered stable. KnowledgeBuilder currently ignored Added/Modified xml elements, the KnowledgeAgent will use them, when rebuilding the KnowledgeBase.


Method Summary
 void addResourceChangeMonitor(ResourceChangeMonitor monitor)
          Add a ResourceChangeMonitor, which will receive all Resource subscriptions.
 Collection<ResourceChangeMonitor> getResourceChangeMonitors()
          Return a collection of the added ResourceChangeMonitors
 void publishChangeSet(ChangeSet changeSet)
          Called by the added ResourceChangeMonitors to inform this ResourceChangeNotifier of resource changes.
 void removeResourceChangeMonitor(ResourceChangeMonitor monitor)
          Remove a ResourceChangeMonitor.
 void setSystemEventListener(SystemEventListener listener)
           
 void start()
          Start the service, this will create a new Thread.
 void stop()
          Stop the service.
 void subscribeChildResource(Resource directory, Resource child)
          When a ResourceChangeMonitor is asked to monitor a directory, it needs a way to tell the ResourceChangeNotifier of any newly added Resources.
 void subscribeResourceChangeListener(ResourceChangeListener listener, Resource resource)
           
 void unsubscribeResourceChangeListener(ResourceChangeListener listener, Resource resource)
           
 

Method Detail

subscribeResourceChangeListener

void subscribeResourceChangeListener(ResourceChangeListener listener,
                                     Resource resource)

unsubscribeResourceChangeListener

void unsubscribeResourceChangeListener(ResourceChangeListener listener,
                                       Resource resource)

subscribeChildResource

void subscribeChildResource(Resource directory,
                            Resource child)
When a ResourceChangeMonitor is asked to monitor a directory, it needs a way to tell the ResourceChangeNotifier of any newly added Resources.

Parameters:
directory - The parent directory the discovered child is in.
child - The discovered child resource

addResourceChangeMonitor

void addResourceChangeMonitor(ResourceChangeMonitor monitor)
Add a ResourceChangeMonitor, which will receive all Resource subscriptions.

Parameters:
monitor -

removeResourceChangeMonitor

void removeResourceChangeMonitor(ResourceChangeMonitor monitor)
Remove a ResourceChangeMonitor.

Parameters:
monitor -

getResourceChangeMonitors

Collection<ResourceChangeMonitor> getResourceChangeMonitors()
Return a collection of the added ResourceChangeMonitors

Returns:

publishChangeSet

void publishChangeSet(ChangeSet changeSet)
Called by the added ResourceChangeMonitors to inform this ResourceChangeNotifier of resource changes. The ResourceChangeMontior must have a reference to the ResourceChangeNotifiers they are added to,

Parameters:
changeSet -

setSystemEventListener

void setSystemEventListener(SystemEventListener listener)

start

void start()
Start the service, this will create a new Thread.


stop

void stop()
Stop the service.



Copyright © 2001-2011 JBoss by Red Hat. All Rights Reserved.