Package ghidra.framework.project.tool
Class GhidraToolTemplate
java.lang.Object
ghidra.framework.project.tool.GhidraToolTemplate
- All Implemented Interfaces:
ToolTemplate
Implementation for a tool template that has the class names of the
plugins that are part of the tool, and the tool's icon.
-
Field Summary
Fields inherited from interface ghidra.framework.model.ToolTemplate
TOOL_INSTANCE_NAME_XML_NAME, TOOL_NAME_XML_NAME, TOOL_XML_NAME
-
Constructor Summary
ConstructorDescriptionGhidraToolTemplate
(ToolIconURL iconURL, org.jdom.Element toolElement, Class<?>[] supportedDataTypes) GhidraToolTemplate
(org.jdom.Element root, String path) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreateTool
(Project project) Creates a tool like only this template knows how.boolean
getIcon()
Get the icon for this tool template.Get the icon URL.getName()
Get the name for the tool.getPath()
Returns the path from whence this tool template came; may be null if the tool was not loaded from the filesystemClass<?>[]
Get the classes of the data types that this tool supports, i.e., what data types can be dropped onto this tool.org.jdom.Element
This returns the XML element that represents the tool part of the overall XML hierarchy.int
hashCode()
void
restoreFromXml
(org.jdom.Element root) Restore this object from a saved XML element.org.jdom.Element
Save this object to an XML Element.void
setIconURL
(ToolIconURL url) void
Set the name for the tool template.toString()
-
Field Details
-
TEMPLATE_NAME
-
-
Constructor Details
-
GhidraToolTemplate
Constructor.- Parameters:
root
- XML element that contains the tool template datapath
- the path of the template
-
GhidraToolTemplate
public GhidraToolTemplate(ToolIconURL iconURL, org.jdom.Element toolElement, Class<?>[] supportedDataTypes)
-
-
Method Details
-
getName
Description copied from interface:ToolTemplate
Get the name for the tool.- Specified by:
getName
in interfaceToolTemplate
- Returns:
- the name
-
getPath
Description copied from interface:ToolTemplate
Returns the path from whence this tool template came; may be null if the tool was not loaded from the filesystem- Specified by:
getPath
in interfaceToolTemplate
- Returns:
- the path
-
setName
Description copied from interface:ToolTemplate
Set the name for the tool template.- Specified by:
setName
in interfaceToolTemplate
- Parameters:
name
- new tool template name
-
getIcon
Description copied from interface:ToolTemplate
Get the icon for this tool template. This is equivalent to callinggetIconURL().getIcon()
- Specified by:
getIcon
in interfaceToolTemplate
- Returns:
- the icon for this tool template.
-
getSupportedDataTypes
Description copied from interface:ToolTemplate
Get the classes of the data types that this tool supports, i.e., what data types can be dropped onto this tool.- Specified by:
getSupportedDataTypes
in interfaceToolTemplate
- Returns:
- list of supported data type classes.
-
getIconURL
Get the icon URL.- Specified by:
getIconURL
in interfaceToolTemplate
- Returns:
- the iconURL for this tool template
-
hashCode
public int hashCode() -
equals
-
toString
-
restoreFromXml
public void restoreFromXml(org.jdom.Element root) Description copied from interface:ToolTemplate
Restore this object from a saved XML element.- Specified by:
restoreFromXml
in interfaceToolTemplate
- Parameters:
root
- element to restore this object into
-
saveToXml
public org.jdom.Element saveToXml()Description copied from interface:ToolTemplate
Save this object to an XML Element.- Specified by:
saveToXml
in interfaceToolTemplate
- Returns:
- the ToolConfig saved as an XML element
-
setIconURL
-
getToolElement
public org.jdom.Element getToolElement()Description copied from interface:ToolTemplate
This returns the XML element that represents the tool part of the overall XML hierarchy.- Specified by:
getToolElement
in interfaceToolTemplate
- Returns:
- the XML element that represents the tool part of the overall XML hierarchy.
-
createTool
Description copied from interface:ToolTemplate
Creates a tool like only this template knows how.- Specified by:
createTool
in interfaceToolTemplate
- Parameters:
project
- the project in which the tool will be living.- Returns:
- a new tool for this template implementation.
-