public class PluginManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) com.google.gson.Gson |
gson |
private java.util.List<DecompilerWrapperInformation> |
wrappers |
Constructor and Description |
---|
PluginManager() |
Modifier and Type | Method and Description |
---|---|
static void |
createUserPluginDir() |
DecompilerWrapperInformation |
createWrapper() |
java.lang.String |
decompile(DecompilerWrapperInformation wrapper,
byte[] bytecode)
Decompile with default options
|
java.lang.String |
decompile(DecompilerWrapperInformation wrapper,
byte[] bytecode,
java.lang.String[] options) |
void |
deleteWrapper(DecompilerWrapperInformation wrapperInformation) |
static java.lang.String |
flipWrapperExtension(java.lang.String filePath) |
java.util.List<DecompilerWrapperInformation> |
getWrappers() |
private void |
InitializeWrapper(DecompilerWrapperInformation wrapper)
Compiles wrapper plugin, loads it into JVM and stores it for later.
|
private void |
loadConfig(java.io.File file)
Loads information decompiler json file into List
|
void |
loadConfigs()
Searches plugin configuration locations and calls loadConfig(file) on files.
|
void |
replace(DecompilerWrapperInformation oldWrapper,
DecompilerWrapperInformation newWrapper) |
void |
saveWrapper(DecompilerWrapperInformation wrapper) |
void |
setLocationForNewWrapper(DecompilerWrapperInformation wrapperInformation) |
private java.lang.String |
URLListToCSV(java.util.List<ExpandableUrl> list,
java.lang.String delimeter)
Converts list of URLs to CSV String
example: (list){URL1,URL2,URL3} -> (String)URL1:URL2:URL3 |
java.lang.String |
validatePlugin(DecompilerWrapperInformation plugin)
Validating the @param plugin using compilation
|
private java.util.List<DecompilerWrapperInformation> wrappers
com.google.gson.Gson gson
public java.util.List<DecompilerWrapperInformation> getWrappers()
public void loadConfigs()
private void loadConfig(java.io.File file)
public java.lang.String decompile(DecompilerWrapperInformation wrapper, byte[] bytecode) throws java.lang.Exception
java.lang.Exception
public java.lang.String decompile(DecompilerWrapperInformation wrapper, byte[] bytecode, java.lang.String[] options) throws java.lang.Exception
wrapper
- decompiler used for decompilingbytecode
- bytecode to be decompiledjava.lang.Exception
private void InitializeWrapper(DecompilerWrapperInformation wrapper)
wrapper
- java.lang.RuntimeException
public void replace(DecompilerWrapperInformation oldWrapper, DecompilerWrapperInformation newWrapper) throws java.io.IOException
java.io.IOException
public void deleteWrapper(DecompilerWrapperInformation wrapperInformation)
public void setLocationForNewWrapper(DecompilerWrapperInformation wrapperInformation)
public java.lang.String validatePlugin(DecompilerWrapperInformation plugin)
plugin
- - plugin to validatepublic DecompilerWrapperInformation createWrapper()
public void saveWrapper(DecompilerWrapperInformation wrapper) throws java.io.IOException
java.io.IOException
public static void createUserPluginDir()
private java.lang.String URLListToCSV(java.util.List<ExpandableUrl> list, java.lang.String delimeter)
list
- delimeter
- public static java.lang.String flipWrapperExtension(java.lang.String filePath)