Package ghidra.framework.store.local
Class IndexedV1LocalFileSystem
java.lang.Object
ghidra.framework.store.local.LocalFileSystem
ghidra.framework.store.local.IndexedLocalFileSystem
ghidra.framework.store.local.IndexedV1LocalFileSystem
- All Implemented Interfaces:
- FileSystem
IndexedV1LocalFileSystem implements a case-sensitive indexed filesystem
 which uses a shallow storage hierarchy with no restriction on file name or path 
 length.  This filesystem is identified by the existence of an index file (~index.dat) 
 and recovery journal (~index.jrn).  File system also maintains a file-ID mapping.- 
Nested Class SummaryNested classes/interfaces inherited from class ghidra.framework.store.local.IndexedLocalFileSystemIndexedLocalFileSystem.BadStorageNameException, IndexedLocalFileSystem.IndexReadException, IndexedLocalFileSystem.IndexVersionExceptionNested classes/interfaces inherited from class ghidra.framework.store.local.LocalFileSystemLocalFileSystem.ItemStorage
- 
Field SummaryFieldsFields inherited from class ghidra.framework.store.local.IndexedLocalFileSystemINDEX_ITEM_INDENT, INDEX_ITEM_SEPARATOR, LATEST_INDEX_VERSIONFields inherited from class ghidra.framework.store.local.LocalFileSystemeventManager, HIDDEN_DIR_PREFIX, HIDDEN_DIR_PREFIX_CHAR, HIDDEN_ITEM_PREFIX, isVersioned, readOnly, rootFields inherited from interface ghidra.framework.store.FileSystemSEPARATOR, SEPARATOR_CHAR
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedIndexedV1LocalFileSystem(String rootPath, boolean isVersioned, boolean readOnly, boolean enableAsyncronousDispatching, boolean create) Constructor.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidfileIdChanged(PropertyFile pfile, String oldFileId) Notification that FileID has been changed within propertyFileintReturns the FolderItem specified by its unique File-IDstatic booleanCompletely rebuild filesystem index using item information contained within indexed property files.Methods inherited from class ghidra.framework.store.local.IndexedLocalFileSystemallocateItemStorage, createFolder, deallocateItemStorage, deleteFolder, dispose, findItemStorage, folderExists, getFolderNames, getItemCount, getItemNames, getItems, getMaxNameLength, hasIndexedStructure, isIndexed, itemDeleted, moveFolder, moveItem, readIndexVersion, renameFolderMethods inherited from class ghidra.framework.store.local.LocalFileSystemaddFileSystemListener, checkDisposed, cleanupAfterConstruction, createDatabase, createDatabase, createDataFile, createFile, createTemporaryDatabase, deleteEmptyVersionedFolders, escapeHiddenDirPrefixChars, fileExists, getItem, getItemNames, getLocalFileSystem, getName, getParentPath, getPath, getUserName, isHiddenDirName, isOnline, isReadOnly, isRefreshRequired, isShared, isValidNameCharacter, isVersioned, log, migrationInProgress, removeFileSystemListener, setAssociatedRepositoryLogger, setValidationRequired, testValidName, unescapeHiddenDirPrefixChars
- 
Field Details- 
INDEX_VERSIONpublic static final int INDEX_VERSION- See Also:
 
 
- 
- 
Constructor Details- 
IndexedV1LocalFileSystemprotected IndexedV1LocalFileSystem(String rootPath, boolean isVersioned, boolean readOnly, boolean enableAsyncronousDispatching, boolean create) throws IOException Constructor.- Parameters:
- rootPath- path for root directory.
- isVersioned- if true item versioning will be enabled.
- readOnly- if true modifications within this file-system will not be allowed and result in an ReadOnlyException
- enableAsyncronousDispatching- if true a separate dispatch thread will be used to notify listeners. If false, blocking notification will be performed.
- create- if true a new folder will be created.
- Throws:
- FileNotFoundException- if specified rootPath does not exist
- IOException- if error occurs while reading/writing index files
 
 
- 
- 
Method Details- 
getIndexImplementationVersionpublic int getIndexImplementationVersion()- Overrides:
- getIndexImplementationVersionin class- IndexedLocalFileSystem
 
- 
fileIdChangedDescription copied from class:LocalFileSystemNotification that FileID has been changed within propertyFile- Overrides:
- fileIdChangedin class- LocalFileSystem
- Parameters:
- pfile-
- oldFileId-
- Throws:
- IOException
 
- 
getItemDescription copied from interface:FileSystemReturns the FolderItem specified by its unique File-ID- Specified by:
- getItemin interface- FileSystem
- Overrides:
- getItemin class- LocalFileSystem
- Parameters:
- fileID- the items unique file ID
- Returns:
- the FolderItem with the given folderPath and name, or null if it doesn't exist.
- Throws:
- IOException- if IO error occurs.
- UnsupportedOperationException- if file-system does not support this operation
 
- 
rebuildCompletely rebuild filesystem index using item information contained within indexed property files. Empty folders will be lost.- Parameters:
- rootDir-
- Throws:
- IOException
 
 
-