1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.launcher;
12
13 import java.io.File;
14
15 public abstract class AbstractFileWatcher implements Runnable
16 {
17
18 private long timeStamp;
19 private File file;
20
21 public AbstractFileWatcher(File file)
22 {
23 this.file = file;
24 this.timeStamp = file.lastModified();
25 }
26
27 public final void run()
28 {
29 long timeStamp = file.lastModified();
30
31 if (this.timeStamp != timeStamp)
32 {
33 this.timeStamp = timeStamp;
34 onChange(file);
35 }
36 }
37
38 protected abstract void onChange(File file);
39 }