Package utility.application
Class ApplicationLayout
java.lang.Object
utility.application.ApplicationLayout
- Direct Known Subclasses:
DummyApplicationLayout,GenericApplicationLayout,GhidraApplicationLayout
The Application Layout base class defines the customizable elements of the application's
directory structure. Create a subclass to define a custom layout.
If a layout changes in a significant way, the
ApplicationProperties.APPLICATION_LAYOUT_VERSION_PROPERTY should be incremented so
external things like Eclipse GhidraDev know to look in different places for things.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ResourceFileprotected ApplicationPropertiesprotected Collection<ResourceFile>protected ResourceFileprotected List<ResourceFile>protected ResourceFileprotected Fileprotected Fileprotected File -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidCreates the application's user directories (or ensures they already exist).final ResourceFileGets the application installation directory from the application layout.final ApplicationPropertiesGets the application properties from the application layoutfinal Collection<ResourceFile>Gets the application root directories from the application layout.final ResourceFileReturns the directory where archived application Extensions are stored.final List<ResourceFile>Returns anordered listof the application Extensions installation directories.Gets the application's modules from the application layout.final ResourceFileReturns the location of the application patch directory.final FileGets the user cache directory from the application layout.final FileGets the user settings directory from the application layout.final FileGets the user temp directory from the application layout.booleanChecks whether or not the application is using a "single jar" layout.
-
Field Details
-
applicationProperties
-
applicationRootDirs
-
applicationInstallationDir
-
modules
-
userTempDir
-
userCacheDir
-
userSettingsDir
-
patchDir
-
extensionArchiveDir
-
extensionInstallationDirs
-
-
Constructor Details
-
ApplicationLayout
public ApplicationLayout()
-
-
Method Details
-
getApplicationProperties
Gets the application properties from the application layout- Returns:
- The application properties. Should never be null.
-
getApplicationRootDirs
Gets the application root directories from the application layout.- Returns:
- A collection of application root directories (or null if not set).
-
getApplicationInstallationDir
Gets the application installation directory from the application layout.- Returns:
- The application installation directory (or null if not set).
-
getModules
Gets the application's modules from the application layout.- Returns:
- The application's modules as a map (mapping module name to module for convenience).
-
getUserTempDir
Gets the user temp directory from the application layout.- Returns:
- The user temp directory (or null if not set).
-
getUserCacheDir
Gets the user cache directory from the application layout.- Returns:
- The user cache directory (or null if not set).
-
getUserSettingsDir
Gets the user settings directory from the application layout.- Returns:
- The user settings directory (or null if not set).
-
getExtensionArchiveDir
Returns the directory where archived application Extensions are stored.- Returns:
- the application Extensions archive directory. Could be null if the
ApplicationLayoutdoes not support application Extensions.
-
getExtensionInstallationDirs
Returns anordered listof the application Extensions installation directories.- Returns:
- an
ordered listof the application Extensions installation directories. Could be empty if theApplicationLayoutdoes not support application Extensions.
-
getPatchDir
Returns the location of the application patch directory. The patch directory can be used to modify existing code within a distribution.- Returns:
- the patch directory; may be null
-
createUserDirs
Creates the application's user directories (or ensures they already exist).- Throws:
IOException- if there was a problem creating the application's user directories.
-
inSingleJarMode
public boolean inSingleJarMode()Checks whether or not the application is using a "single jar" layout. Custom application layouts that extend this class can override this method once they determine they are in single jar mode.- Returns:
- true if the application is using a "single jar" layout; otherwise, false.
-