Package ghidra.app.script
Class GhidraScriptProvider
- java.lang.Object
-
- ghidra.app.script.GhidraScriptProvider
-
- All Implemented Interfaces:
ExtensionPoint,java.lang.Comparable<GhidraScriptProvider>
- Direct Known Subclasses:
JavaScriptProvider,PythonScriptProvider
public abstract class GhidraScriptProvider extends java.lang.Object implements ExtensionPoint, java.lang.Comparable<GhidraScriptProvider>
NOTE: ALL GhidraScriptProvider CLASSES MUST END IN "ScriptProvider". If not, the ClassSearcher will not find them.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Constructor Summary
Constructors Constructor Description GhidraScriptProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description intcompareTo(GhidraScriptProvider that)abstract voidcreateNewScript(ResourceFile newScript, java.lang.String category)Creates a new script using the specified file.booleandeleteScript(ResourceFile scriptSource)Deletes the script file and unloads the script from the script manager.booleanequals(java.lang.Object obj)abstract java.lang.StringgetCommentCharacter()Returns the comment character.abstract java.lang.StringgetDescription()Returns a description for this type of script.abstract java.lang.StringgetExtension()Returns the file extension for this type of script.abstract GhidraScriptgetScriptInstance(ResourceFile sourceFile, java.io.PrintWriter writer)Returns a GhidraScript instance for the specified source file.inthashCode()java.lang.StringtoString()protected voidwriteBody(java.io.PrintWriter writer)Writes the script body template.protected voidwriteHeader(java.io.PrintWriter writer, java.lang.String category)Writes the script header.
-
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
compareTo
public int compareTo(GhidraScriptProvider that)
- Specified by:
compareToin interfacejava.lang.Comparable<GhidraScriptProvider>
-
deleteScript
public boolean deleteScript(ResourceFile scriptSource)
Deletes the script file and unloads the script from the script manager.- Parameters:
scriptSource- the script source file- Returns:
- true if the script was completely deleted and cleaned up
-
getDescription
public abstract java.lang.String getDescription()
Returns a description for this type of script.- Returns:
- a description for this type of script
-
getExtension
public abstract java.lang.String getExtension()
Returns the file extension for this type of script. For example, ".java" or ".py".- Returns:
- the file extension for this type of script
-
getScriptInstance
public abstract GhidraScript getScriptInstance(ResourceFile sourceFile, java.io.PrintWriter writer) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
Returns a GhidraScript instance for the specified source file.- Parameters:
sourceFile- the source filewriter- the print writer to write warning/error messages- Returns:
- a GhidraScript instance for the specified source file
- Throws:
java.lang.ClassNotFoundExceptionjava.lang.InstantiationExceptionjava.lang.IllegalAccessException
-
createNewScript
public abstract void createNewScript(ResourceFile newScript, java.lang.String category) throws java.io.IOException
Creates a new script using the specified file.- Parameters:
newScript- the new script filecategory- the script category- Throws:
java.io.IOException- if an error occurs writing the file
-
getCommentCharacter
public abstract java.lang.String getCommentCharacter()
Returns the comment character. For example, "//" or "#".- Returns:
- the comment character
-
writeHeader
protected void writeHeader(java.io.PrintWriter writer, java.lang.String category)Writes the script header. Include a place holder for each meta-data item.- Parameters:
writer- the print writercategory- the default category
-
writeBody
protected void writeBody(java.io.PrintWriter writer)
Writes the script body template.- Parameters:
writer- the print writer
-
-