Package com.pnfsoftware.jeb.core
Interface IEnginesPlugin
- All Superinterfaces:
IPlugin
- All Known Implementing Classes:
AbstractEnginesPlugin
Interface for standard JEB engines plugin. Engines plugins run within an engines context (JEB
back-end). They can register for events and act on those events. They are meant to perform
background tasks to enhance an analysis context. Engines plugins, unlike unit plugins, should not
be designed to identify and process input artifacts.
Engines plugins may be written as:
- compiled plugins: they are Jar archives dropped in the JEB plugins folder
- script plugins: they are written in Java or Python and dropped in the scripts sub-directory
of the JEB plugins folder. Script plugins are reloaded by JEB when a change is detected. However,
the
load()
method is not called again when a script plugin changed and was reloaded. (load
methods are called when JEB is starting up and loading plugins Therefore, while developing script plugins, you may have to consider callingload
from withinexecute
.)
Life-cycle: engines plugins are instantiated once.
Engines plugins are retrievable via IEnginesContext.getEnginesPlugins()
.
In the GUI client, engines plugins may be executed via the File menu, command Plugins, Execute an Engines Plugin.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute
(IEnginesContext engctx) Same asexecute(context, null)
.void
execute
(IEnginesContext engctx, Map<String, String> executionOptions) Execute the plugin code within a given engines context.default List<? extends IOptionDefinition>
Retrieve a list of option definitions.default List<? extends IOptionDefinition>
Retrieve a list of option definitions.void
load
(IEnginesContext engctx) This method is called by the ownercontext
exactly once, just after the engines plugin instantiation.Methods inherited from interface com.pnfsoftware.jeb.core.IPlugin
dispose, getData, getPluginInformation, setData
-
Method Details
-
load
This method is called by the ownercontext
exactly once, just after the engines plugin instantiation.In the called of a script plugin that was hot-reloaded, this method is not called again See the javadoc notes above.
- Parameters:
engctx
- the context in which this plugin executes (never null)
-
execute
Same asexecute(context, null)
.- Parameters:
engctx
- the context in which this plugin executes (never null)
-
execute
Execute the plugin code within a given engines context. Plugin writers should consider this as the execution entry-point.This method is optional and serves to execute on-demand calls, usually triggered by a client via the software front-end. Plugins may decide to start their workload in
load(IEnginesContext)
.- Parameters:
engctx
- the context in which this plugin executes (never null)executionOptions
- optional execution options provided by the caller; the list of options that could be provided is specified bygetExecutionOptionDefinitions(IEnginesContext)
-
getExecutionOptionDefinitions
Retrieve a list of option definitions.- Parameters:
engctx
- the context in which this plugin executes (never null)- Returns:
- optional list of option definitions
-
getExecutionOptionDefinitions
Retrieve a list of option definitions. Starting from JEB 4.31, this method must not be implemented. Instead, implementors must implementgetExecutionOptionDefinitions(IEnginesContext)
.- Returns:
- optional list of option definitions
-