public void fileJournalChanged() {
// next sequence number file system will use
long nextUSN = FileSystemJournal.getNextUSN();
for( long currentUSN = _lastUSN; currentUSN < nextUSN; currentUSN++ ) {
FileSystemJournalEntry entry = FileSystemJournal.getEntry( currentUSN );
if( entry == null ) {
continue; // Journal entry no longer available. Skip it.
}
String path = entry.getPath();
if( path != null ) {
boolean matches = pathMatches( path );
if( matches ) {
switch( entry.getEvent() ) {
case FileSystemJournalEntry.FILE_ADDED: {
onFileAdded( path );
break;
}
case FileSystemJournalEntry.FILE_DELETED: {
onFileRemoved( path );
break;
}
case FileSystemJournalEntry.FILE_CHANGED: {
onFileChanged( path );
break;
}
case FileSystemJournalEntry.FILE_RENAMED: {
onFileRenamed( entry.getOldPath(), path );
break;
}
} // switch(entry.getEvent()
} // if (matches)
} // if (path != null)