nl.knowledgeplaza.util
Class DirectoryMonitor

java.lang.Object
  extended by nl.knowledgeplaza.util.DirectoryMonitor

public class DirectoryMonitor
extends java.lang.Object


Nested Class Summary
static interface DirectoryMonitor.AddListener
          listen to new files // client side myDirectoryMonitor.addListeners.add(new DirectoryMonitor.AddListener(){ @Override public void add(File file) { }});
static interface DirectoryMonitor.ChangeListener
          listen to any change // client side myDirectoryMonitor.changeListeners.add(new DirectoryMonitor.ChangeListener(){ @Override public void changed(File file) { }});
static interface DirectoryMonitor.DeleteListener
          listen to removed files // client side myDirectoryMonitor.deleteListeners.add(new DirectoryMonitor.DeleteListener(){ @Override public void deleted(File file) { }});
 
Field Summary
 ListenerHandler<DirectoryMonitor.AddListener,java.io.File> addListeners
           
 ListenerHandler<DirectoryMonitor.ChangeListener,java.io.File> changeListeners
           
static java.lang.String DAEMON_PROPERTY_ID
           
 ListenerHandler<DirectoryMonitor.DeleteListener,java.io.File> deleteListeners
           
static java.lang.String DIRECTORY_PROPERTY_ID
           
static java.lang.String FILEFILTER_PROPERTY_ID
           
static java.lang.String INITIALDELAY_PROPERTY_ID
           
static java.io.FileFilter OnlyFilesFileFilter
           
static java.lang.String POLLDELAY_PROPERTY_ID
           
 
Constructor Summary
DirectoryMonitor()
          We use a fluent interface, so use the withXXX methods and end with start();
 
Method Summary
 boolean getDaemon()
           
 java.io.File getDirectory()
          Directory:
 java.io.FileFilter getFileFilter()
          FileFilter:
 int getInitialDelay()
          InitialDelay:
 int getPollDelay()
          PollDelay: default 5 seconds
 void setDaemon(boolean value)
          Daemon: per default this is not a daemon, so it will keep the JVM alive
 void setDirectory(java.io.File value)
           
 void setFileFilter(java.io.FileFilter value)
           
 void setInitialDelay(int value)
           
 void setPollDelay(int value)
           
 DirectoryMonitor skipExistingFiles()
           
 DirectoryMonitor start()
          Start this monitor
 void stop()
          stop this monitor
 DirectoryMonitor withAddListener(DirectoryMonitor.AddListener value)
           
 DirectoryMonitor withChangeListener(DirectoryMonitor.ChangeListener value)
           
 DirectoryMonitor withDaemon(boolean value)
           
 DirectoryMonitor withDeleteListener(DirectoryMonitor.DeleteListener value)
           
 DirectoryMonitor withDirectory(java.io.File value)
           
 DirectoryMonitor withFileFilter(java.io.FileFilter value)
           
 DirectoryMonitor withInitialDelay(int value)
           
 DirectoryMonitor withPollDelay(int value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIRECTORY_PROPERTY_ID

public static final java.lang.String DIRECTORY_PROPERTY_ID
See Also:
Constant Field Values

INITIALDELAY_PROPERTY_ID

public static final java.lang.String INITIALDELAY_PROPERTY_ID
See Also:
Constant Field Values

POLLDELAY_PROPERTY_ID

public static final java.lang.String POLLDELAY_PROPERTY_ID
See Also:
Constant Field Values

DAEMON_PROPERTY_ID

public static final java.lang.String DAEMON_PROPERTY_ID
See Also:
Constant Field Values

FILEFILTER_PROPERTY_ID

public static final java.lang.String FILEFILTER_PROPERTY_ID
See Also:
Constant Field Values

OnlyFilesFileFilter

public static final java.io.FileFilter OnlyFilesFileFilter

changeListeners

public final ListenerHandler<DirectoryMonitor.ChangeListener,java.io.File> changeListeners

addListeners

public final ListenerHandler<DirectoryMonitor.AddListener,java.io.File> addListeners

deleteListeners

public final ListenerHandler<DirectoryMonitor.DeleteListener,java.io.File> deleteListeners
Constructor Detail

DirectoryMonitor

public DirectoryMonitor()
We use a fluent interface, so use the withXXX methods and end with start();

Method Detail

getDirectory

public java.io.File getDirectory()
Directory:


setDirectory

public void setDirectory(java.io.File value)

withDirectory

public DirectoryMonitor withDirectory(java.io.File value)

getInitialDelay

public int getInitialDelay()
InitialDelay:


setInitialDelay

public void setInitialDelay(int value)

withInitialDelay

public DirectoryMonitor withInitialDelay(int value)

getPollDelay

public int getPollDelay()
PollDelay: default 5 seconds


setPollDelay

public void setPollDelay(int value)

withPollDelay

public DirectoryMonitor withPollDelay(int value)

setDaemon

public void setDaemon(boolean value)
Daemon: per default this is not a daemon, so it will keep the JVM alive


getDaemon

public boolean getDaemon()

withDaemon

public DirectoryMonitor withDaemon(boolean value)

getFileFilter

public java.io.FileFilter getFileFilter()
FileFilter:


setFileFilter

public void setFileFilter(java.io.FileFilter value)

withFileFilter

public DirectoryMonitor withFileFilter(java.io.FileFilter value)

start

public DirectoryMonitor start()
Start this monitor


stop

public void stop()
stop this monitor


skipExistingFiles

public DirectoryMonitor skipExistingFiles()
Returns:

withChangeListener

public DirectoryMonitor withChangeListener(DirectoryMonitor.ChangeListener value)

withAddListener

public DirectoryMonitor withAddListener(DirectoryMonitor.AddListener value)

withDeleteListener

public DirectoryMonitor withDeleteListener(DirectoryMonitor.DeleteListener value)


Copyright © 2010. All Rights Reserved.