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
FieldsFields inherited from interface ghidra.framework.model.ToolTemplate
TOOL_INSTANCE_NAME_XML_NAME, TOOL_NAME_XML_NAME, TOOL_XML_NAME -
Constructor Summary
ConstructorsConstructorDescriptionGhidraToolTemplate(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.booleangetIcon()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.ElementThis returns the XML element that represents the tool part of the overall XML hierarchy.inthashCode()voidrestoreFromXml(org.jdom.Element root) Restore this object from a saved XML element.org.jdom.ElementSave this object to an XML Element.voidsetIconURL(ToolIconURL url) voidSet 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:ToolTemplateGet the name for the tool.- Specified by:
getNamein interfaceToolTemplate- Returns:
- the name
-
getPath
Description copied from interface:ToolTemplateReturns the path from whence this tool template came; may be null if the tool was not loaded from the filesystem- Specified by:
getPathin interfaceToolTemplate- Returns:
- the path
-
setName
Description copied from interface:ToolTemplateSet the name for the tool template.- Specified by:
setNamein interfaceToolTemplate- Parameters:
name- new tool template name
-
getIcon
Description copied from interface:ToolTemplateGet the icon for this tool template. This is equivalent to callinggetIconURL().getIcon()- Specified by:
getIconin interfaceToolTemplate- Returns:
- the icon for this tool template.
-
getSupportedDataTypes
Description copied from interface:ToolTemplateGet the classes of the data types that this tool supports, i.e., what data types can be dropped onto this tool.- Specified by:
getSupportedDataTypesin interfaceToolTemplate- Returns:
- list of supported data type classes.
-
getIconURL
Get the icon URL.- Specified by:
getIconURLin 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:ToolTemplateRestore this object from a saved XML element.- Specified by:
restoreFromXmlin interfaceToolTemplate- Parameters:
root- element to restore this object into
-
saveToXml
public org.jdom.Element saveToXml()Description copied from interface:ToolTemplateSave this object to an XML Element.- Specified by:
saveToXmlin interfaceToolTemplate- Returns:
- the ToolConfig saved as an XML element
-
setIconURL
-
getToolElement
public org.jdom.Element getToolElement()Description copied from interface:ToolTemplateThis returns the XML element that represents the tool part of the overall XML hierarchy.- Specified by:
getToolElementin interfaceToolTemplate- Returns:
- the XML element that represents the tool part of the overall XML hierarchy.
-
createTool
Description copied from interface:ToolTemplateCreates a tool like only this template knows how.- Specified by:
createToolin interfaceToolTemplate- Parameters:
project- the project in which the tool will be living.- Returns:
- a new tool for this template implementation.
-