Package ghidra.framework.store
Class FileSystemEventManager
- java.lang.Object
-
- ghidra.framework.store.FileSystemEventManager
-
- All Implemented Interfaces:
FileSystemListener
public class FileSystemEventManager extends java.lang.Object implements FileSystemListener
FileSystemListenerListmaintains a list of FileSystemListener's. This class, acting as a FileSystemListener, simply relays each callback to all FileSystemListener's within its list. Employs either a synchronous and asynchronous notification mechanism.
-
-
Constructor Summary
Constructors Constructor Description FileSystemEventManager(boolean enableAsynchronousDispatching)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(FileSystemListener listener)Add a listener to this list.voiddispose()booleanflushEvents(long timeout, java.util.concurrent.TimeUnit unit)Blocks until all current events have been processed.voidfolderCreated(java.lang.String parentPath, java.lang.String folderName)Notification that a new folder was created.voidfolderDeleted(java.lang.String parentPath, java.lang.String folderName)Notification that a folder was deleted.voidfolderMoved(java.lang.String parentPath, java.lang.String folderName, java.lang.String newParentPath)Notification that a folder was moved.voidfolderRenamed(java.lang.String parentPath, java.lang.String folderName, java.lang.String newFolderName)Notification that a folder was renamed.voiditemChanged(java.lang.String parentPath, java.lang.String itemName)Notfication that an item's state has changed.voiditemCreated(java.lang.String parentPath, java.lang.String itemName)Notification that a new folder item was created.voiditemDeleted(java.lang.String parentPath, java.lang.String itemName)Notification that a folder item was deleted.voiditemMoved(java.lang.String parentPath, java.lang.String name, java.lang.String newParentPath, java.lang.String newName)Notification that an item was moved.voiditemRenamed(java.lang.String parentPath, java.lang.String itemName, java.lang.String newName)Notification that an item was renamed.voidremove(FileSystemListener listener)Remove a listener from this list.voidsyncronize()Perform a full refresh / synchronization
-
-
-
Method Detail
-
dispose
public void dispose()
-
add
public void add(FileSystemListener listener)
Add a listener to this list.- Parameters:
listener- the listener
-
remove
public void remove(FileSystemListener listener)
Remove a listener from this list.- Parameters:
listener- the listener
-
itemMoved
public void itemMoved(java.lang.String parentPath, java.lang.String name, java.lang.String newParentPath, java.lang.String newName)Description copied from interface:FileSystemListenerNotification that an item was moved.- Specified by:
itemMovedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that used to contain the item.name- the name of the item that was moved.newParentPath- the path of the folder that the item was moved to.newName- the new name of the item.
-
itemRenamed
public void itemRenamed(java.lang.String parentPath, java.lang.String itemName, java.lang.String newName)Description copied from interface:FileSystemListenerNotification that an item was renamed.- Specified by:
itemRenamedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that contains the renamed itemitemName- the old name of the item.newName- the new name of the item.
-
itemDeleted
public void itemDeleted(java.lang.String parentPath, java.lang.String itemName)Description copied from interface:FileSystemListenerNotification that a folder item was deleted.- Specified by:
itemDeletedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that contained the deleted item.itemName- the name of the item that was deleted.
-
folderRenamed
public void folderRenamed(java.lang.String parentPath, java.lang.String folderName, java.lang.String newFolderName)Description copied from interface:FileSystemListenerNotification that a folder was renamed.- Specified by:
folderRenamedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder containing the folder that was renamed.folderName- the old name of the folder.newFolderName- the new name of the folder.
-
folderMoved
public void folderMoved(java.lang.String parentPath, java.lang.String folderName, java.lang.String newParentPath)Description copied from interface:FileSystemListenerNotification that a folder was moved.- Specified by:
folderMovedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that used to contain the moved folder.folderName- the name of the folder that was moved.newParentPath- the path of the folder that now contains the moved folder.
-
folderDeleted
public void folderDeleted(java.lang.String parentPath, java.lang.String folderName)Description copied from interface:FileSystemListenerNotification that a folder was deleted.- Specified by:
folderDeletedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that contained the deleted folder.folderName- the name of the folder that was deleted.
-
itemCreated
public void itemCreated(java.lang.String parentPath, java.lang.String itemName)Description copied from interface:FileSystemListenerNotification that a new folder item was created.- Specified by:
itemCreatedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that contains the new item.itemName- the name of the new item.
-
folderCreated
public void folderCreated(java.lang.String parentPath, java.lang.String folderName)Description copied from interface:FileSystemListenerNotification that a new folder was created.- Specified by:
folderCreatedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder that contains the new folderfolderName- the name of the new folder
-
itemChanged
public void itemChanged(java.lang.String parentPath, java.lang.String itemName)Description copied from interface:FileSystemListenerNotfication that an item's state has changed.- Specified by:
itemChangedin interfaceFileSystemListener- Parameters:
parentPath- the path of the folder containing the item.itemName- the name of the item that has changed.
-
syncronize
public void syncronize()
Description copied from interface:FileSystemListenerPerform a full refresh / synchronization- Specified by:
syncronizein interfaceFileSystemListener
-
flushEvents
public boolean flushEvents(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedExceptionBlocks until all current events have been processed.Note: clients should only use this method when
isAsynchronous()returns true, since this class cannot track when non-threaded events have finished broadcasting to listeners. In a synchronous use case, any test that needs to know when client events have been processed must use some other mechanism to know when event processing is finished.- Parameters:
timeout- the maximum time to waitunit- the time unit of thetimeargument- Returns:
- true if the events were processed in the given timeout
- Throws:
java.lang.InterruptedException- if this waiting thread is interrupted
-
-