This file is part of deegree.
Copyright (C) 2001-2008 by:
EXSE, Department of Geography, University of Bonn
http://www.giub.uni-bonn.de/deegree/
lat/lon GmbH
http://www.lat-lon.de
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/**
* Factory method to get singleton instance.
*
* @return
*
*/ public static FileMonitor getInstance() { return instance;
}
protected FileMonitor() {
// Create timer, run timer thread as daemon.
timer = new Timer( true );
timerEntries = new Hashtable<String, FileMonitorTask>();
}
/**
* Add a monitored file with a FileChangeListener.
*
* @param listener
* listener to notify when the file changed.
* @param fileName
* name of the file to monitor.
* @param period
* polling period in milliseconds.
*/ public void addFileChangeListener( FileChangeListener listener, String fileName, long period ) throws FileNotFoundException {
removeFileChangeListener( listener, fileName );
FileMonitorTask task = new FileMonitorTask( listener, fileName );
timerEntries.put( fileName + listener.hashCode(), task );
timer.schedule( task, period, period );
}
/**
* Remove the listener from the notification list.
*
* @param listener
* the listener to be removed.
*/ public void removeFileChangeListener( FileChangeListener listener, String fileName ) {
FileMonitorTask task = timerEntries.remove( fileName + listener.hashCode() ); if ( task != null ) {
task.cancel();
}
}
This file is part of deegree.
Copyright (C) 2001-2008 by:
EXSE, Department of Geography, University of Bonn
http://www.giub.uni-bonn.de/deegree/
lat/lon GmbH
http://www.lat-lon.de
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA