Package jadx.core.plugins
Class PluginContext
- java.lang.Object
-
- jadx.core.plugins.PluginContext
-
- All Implemented Interfaces:
JadxPluginRuntimeData,JadxPluginContext,java.lang.Comparable<PluginContext>
public class PluginContext extends java.lang.Object implements JadxPluginContext, JadxPluginRuntimeData, java.lang.Comparable<PluginContext>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCodeInput(jadx.api.plugins.input.JadxCodeInput codeInput)voidaddPass(JadxPass pass)intcompareTo(PluginContext other)booleanequals(java.lang.Object other)IJadxEventsevents()Subscribe and send eventsIJadxFilesfiles()Access to plugin specific files and directoriesAppContextgetAppContext()JadxArgsgetArgs()java.util.List<jadx.api.plugins.input.JadxCodeInput>getCodeInputs()JadxDecompilergetDecompiler()@Nullable JadxGuiContextgetGuiContext()Access to jadx-gui specific methodsjava.lang.StringgetInputsHash()@Nullable JadxPluginOptionsgetOptions()java.lang.StringgetPluginId()JadxPluginInfogetPluginInfo()JadxPlugingetPluginInstance()IResourcesLoadergetResourcesLoader()Customize resource loadingjadx.zip.ZipReadergetZipReader()Custom jadx zip reader to fight tampering and provide additional security checksinthashCode()voidinit()booleanisInitialized()jadx.api.plugins.input.ICodeLoaderloadCodeFiles(java.util.List<java.nio.file.Path> files, @Nullable java.io.Closeable closeable)Convenient method to simplify code loading from custom files.IJadxPluginsplugins()Access to registered plugins and runtime datavoidregisterInputsHashSupplier(java.util.function.Supplier<java.lang.String> supplier)Function to calculate hash of all options which can change output code.voidregisterOptions(JadxPluginOptions options)voidsetAppContext(AppContext appContext)java.lang.StringtoString()voidunload()
-
-
-
Method Detail
-
init
public void init()
-
unload
public void unload()
-
isInitialized
public boolean isInitialized()
- Specified by:
isInitializedin interfaceJadxPluginRuntimeData
-
getArgs
public JadxArgs getArgs()
- Specified by:
getArgsin interfaceJadxPluginContext
-
getDecompiler
public JadxDecompiler getDecompiler()
- Specified by:
getDecompilerin interfaceJadxPluginContext
-
addPass
public void addPass(JadxPass pass)
- Specified by:
addPassin interfaceJadxPluginContext
-
addCodeInput
public void addCodeInput(jadx.api.plugins.input.JadxCodeInput codeInput)
- Specified by:
addCodeInputin interfaceJadxPluginContext
-
getCodeInputs
public java.util.List<jadx.api.plugins.input.JadxCodeInput> getCodeInputs()
- Specified by:
getCodeInputsin interfaceJadxPluginRuntimeData
-
registerOptions
public void registerOptions(JadxPluginOptions options)
- Specified by:
registerOptionsin interfaceJadxPluginContext
-
registerInputsHashSupplier
public void registerInputsHashSupplier(java.util.function.Supplier<java.lang.String> supplier)
Description copied from interface:JadxPluginContextFunction to calculate hash of all options which can change output code. Hash for input files (JadxArgs.getInputFiles()) and registered options calculated by default implementations.- Specified by:
registerInputsHashSupplierin interfaceJadxPluginContext
-
getInputsHash
public java.lang.String getInputsHash()
- Specified by:
getInputsHashin interfaceJadxPluginRuntimeData
-
events
public IJadxEvents events()
Description copied from interface:JadxPluginContextSubscribe and send events- Specified by:
eventsin interfaceJadxPluginContext
-
getResourcesLoader
public IResourcesLoader getResourcesLoader()
Description copied from interface:JadxPluginContextCustomize resource loading- Specified by:
getResourcesLoaderin interfaceJadxPluginContext
-
getAppContext
public AppContext getAppContext()
-
setAppContext
public void setAppContext(AppContext appContext)
-
getGuiContext
@Nullable public @Nullable JadxGuiContext getGuiContext()
Description copied from interface:JadxPluginContextAccess to jadx-gui specific methods- Specified by:
getGuiContextin interfaceJadxPluginContext
-
getPluginInstance
public JadxPlugin getPluginInstance()
- Specified by:
getPluginInstancein interfaceJadxPluginRuntimeData
-
getPluginInfo
public JadxPluginInfo getPluginInfo()
- Specified by:
getPluginInfoin interfaceJadxPluginRuntimeData
-
getPluginId
public java.lang.String getPluginId()
- Specified by:
getPluginIdin interfaceJadxPluginRuntimeData
-
getOptions
@Nullable public @Nullable JadxPluginOptions getOptions()
- Specified by:
getOptionsin interfaceJadxPluginRuntimeData
-
plugins
public IJadxPlugins plugins()
Description copied from interface:JadxPluginContextAccess to registered plugins and runtime data- Specified by:
pluginsin interfaceJadxPluginContext
-
files
public IJadxFiles files()
Description copied from interface:JadxPluginContextAccess to plugin specific files and directories- Specified by:
filesin interfaceJadxPluginContext
-
loadCodeFiles
public jadx.api.plugins.input.ICodeLoader loadCodeFiles(java.util.List<java.nio.file.Path> files, @Nullable @Nullable java.io.Closeable closeable)Description copied from interface:JadxPluginRuntimeDataConvenient method to simplify code loading from custom files.- Specified by:
loadCodeFilesin interfaceJadxPluginRuntimeData
-
getZipReader
public jadx.zip.ZipReader getZipReader()
Description copied from interface:JadxPluginContextCustom jadx zip reader to fight tampering and provide additional security checks- Specified by:
getZipReaderin interfaceJadxPluginContext
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareTo
public int compareTo(PluginContext other)
- Specified by:
compareToin interfacejava.lang.Comparable<PluginContext>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-