Package ghidra.framework.project.tool
Class GhidraToolTemplate
- java.lang.Object
-
- ghidra.framework.project.tool.GhidraToolTemplate
-
- All Implemented Interfaces:
ToolTemplate
public class GhidraToolTemplate extends java.lang.Object implements 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 Modifier and Type Field Description static java.lang.String
TEMPLATE_NAME
-
Fields inherited from interface ghidra.framework.model.ToolTemplate
TOOL_INSTANCE_NAME_XML_NAME, TOOL_NAME_XML_NAME, TOOL_XML_NAME
-
-
Constructor Summary
Constructors Constructor Description GhidraToolTemplate(ToolIconURL iconURL, org.jdom.Element toolElement, java.lang.Class<?>[] supportedDataTypes)
GhidraToolTemplate(org.jdom.Element root, java.lang.String path)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PluginTool
createTool(Project project)
Creates a tool like only this template knows how.boolean
equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.javax.swing.ImageIcon
getIcon()
Get the icon for this tool template.ToolIconURL
getIconURL()
Get the icon URL.java.lang.String
getName()
Get the name for the tool.java.lang.String
getPath()
Returns the path from whence this tool template came; may be null if the tool was not loaded from the filesystemjava.lang.Class<?>[]
getSupportedDataTypes()
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
getToolElement()
This returns the XML element that represents the tool part of the overall XML hierarchy.int
hashCode()
Returns a hash code value for the object.void
restoreFromXml(org.jdom.Element root)
Restore this object from a saved XML element.org.jdom.Element
saveToXml()
Save this object to an XML Element.void
setIconURL(ToolIconURL url)
void
setName(java.lang.String name)
Set the name for the tool template.java.lang.String
toString()
Returns a string representation of the object.
-
-
-
Constructor Detail
-
GhidraToolTemplate
public GhidraToolTemplate(org.jdom.Element root, java.lang.String path)
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, java.lang.Class<?>[] supportedDataTypes)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:ToolTemplate
Get the name for the tool.- Specified by:
getName
in interfaceToolTemplate
- Returns:
- the name
-
getPath
public java.lang.String 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
public void setName(java.lang.String name)
Description copied from interface:ToolTemplate
Set the name for the tool template.- Specified by:
setName
in interfaceToolTemplate
- Parameters:
name
- new tool template name
-
getIcon
public javax.swing.ImageIcon 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
public java.lang.Class<?>[] 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
public ToolIconURL getIconURL()
Get the icon URL.- Specified by:
getIconURL
in interfaceToolTemplate
- Returns:
- the iconURL for this tool template
-
hashCode
public int hashCode()
Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided byjava.util.Hashtable
.- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
Returns a string representation of the object. In general, thetoString
method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read.- Overrides:
toString
in classjava.lang.Object
-
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
public void setIconURL(ToolIconURL url)
-
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
public PluginTool createTool(Project project)
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.
-
-