Class DecompilationController
java.lang.Object
org.jrd.frontend.frame.main.decompilerview.DecompilationController
- All Implemented Interfaces:
ClassesAndMethodsProvider, ClasspathProvider, LoadingDialogProvider, ModelProvider
public class DecompilationController
extends Object
implements ModelProvider, LoadingDialogProvider, ClassesAndMethodsProvider, ClasspathProvider
This class provides Action listeners and request handling for
the GUI.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassclassclassNested classes/interfaces inherited from interface ClassesAndMethodsProvider
ClassesAndMethodsProvider.SettingsClassesAndMethodsProviderNested classes/interfaces inherited from interface ClasspathProvider
ClasspathProvider.SettingsClasspathProvider -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BytecodeDecompilerViewstatic final Stringprivate booleanprivate LoadingDialogprivate final MainFrameViewprivate NewConnectionViewprivate NewFsVmViewprivate PluginConfigurationEditorViewprivate VmInfo -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidprivate voidprivate voidstatic StringbytesToBase64(byte[] bytes) private voidchangeVm(ActionEvent event) private voidcleanup(boolean halt) private voidclearOtherList(JList<VmInfo> vmList) If selected list is remoteVmList clears localVmList and vice versa.
Effectively merging them into one.private voidprivate StringcreateFilter(String text, int caretPosition) private voidprivate voidprivate AgentRequestActioncreateRequest(AgentRequestAction.RequestAction action, String... commands) static AgentRequestActioncreateRequest(VmInfo vmInfo, AgentRequestAction.RequestAction action, String... commands) private booleanexitOnEmpty(String vmType, VmInfo selectedVm) static StringfileToBase64(String path, boolean deHex) static byte[]fileToBytes(String path) fileToLines(String path) String[]getClasses(CompletionSettings settings) byte[]getClassItself(CompletionSettings settings, String fqn) private String[]getMethodsFromClassInRunningVm(CompletionSettings settings, String fqn) private String[]getMethodsFromClassInRunningVmCatched(CompletionSettings settings, String fqn) String[]private Collection<io.github.mkoncek.classpathless.api.IdentifiedBytecode> getVm()String[]getWhateverFromClass(CompletionSettings settings, String fqn) private voidvoidprivate voidbooleanbooleanprivate voidprivate booleanloadClassBytecode(ClassInfo name) voidremoveOverrides(String pattern) private voidremoveVmDialog(ActionEvent event) private voidsearchInClasses(String substringAndRegex) voidsetVerbose(boolean verbose) voidshowLoadingDialog(ActionListener listener, String title) private voidshowLoadingDialog(String title) static StringstdinToBase64(boolean deHex) static byte[]static String(package private) StringsubmitRequest(AgentRequestAction request) static StringsubmitRequest(VmManager vmManager, AgentRequestAction request) private voidprivate booleanwarnOnOvveridesOfFsVm(VmInfo selectedVm) static booleanwarnOnOvveridesOfFsVm(VmInfo vmInfo, JFrame parent)
-
Field Details
-
mainFrameView
-
bytecodeDecompilerView
-
newConnectionDialog
-
newFsVmDialog
-
pluginConfigurationEditorView
-
pluginConfigurationEditorController
-
loadingDialog
-
vmInfo
-
isVerbose
private boolean isVerbose -
CLASSES_NOPE
- See Also:
-
-
Constructor Details
-
DecompilationController
-
-
Method Details
-
createConfigurationEditor
private void createConfigurationEditor() -
createNewConnectionDialog
private void createNewConnectionDialog() -
createNewFsVMDialog
private void createNewFsVMDialog() -
removeVmDialog
-
exitOnEmpty
-
warnOnOvveridesOfFsVm
-
warnOnOvveridesOfFsVm
-
updateVmLists
private void updateVmLists() -
changeVm
-
clearOtherList
-
showLoadingDialog
-
showLoadingDialog
- Specified by:
showLoadingDialogin interfaceLoadingDialogProvider
-
hideLoadingDialog
public void hideLoadingDialog()- Specified by:
hideLoadingDialogin interfaceLoadingDialogProvider
-
cleanup
private void cleanup(boolean halt) -
abortClassLoading
private void abortClassLoading() -
initClass
-
addClass
-
addJar
-
searchInClasses
-
loadClassBytecode
-
getVm
-
getOverrides
-
removeOverrides
-
getClasspath
- Specified by:
getClasspathin interfaceClasspathProvider
-
getVmInfo
- Specified by:
getVmInfoin interfaceClasspathProvider- Specified by:
getVmInfoin interfaceModelProvider
-
getVmManager
- Specified by:
getVmManagerin interfaceClasspathProvider- Specified by:
getVmManagerin interfaceModelProvider
-
getClassesProvider
- Specified by:
getClassesProviderin interfaceModelProvider
-
getClasses
- Specified by:
getClassesin interfaceClassesAndMethodsProvider
-
getClassItself
- Specified by:
getClassItselfin interfaceClassesAndMethodsProvider
-
isMissingVmInfo
public boolean isMissingVmInfo()- Specified by:
isMissingVmInfoin interfaceClassesAndMethodsProvider
-
getSingleClassFromRunningVmCatched
private Collection<io.github.mkoncek.classpathless.api.IdentifiedBytecode> getSingleClassFromRunningVmCatched(String fqn) -
getWhateverFromClass
- Specified by:
getWhateverFromClassin interfaceClassesAndMethodsProvider
-
getMethodsFromClassInRunningVmCatched
-
getMethodsFromClassInRunningVm
-
getPluginManager
-
fileToBase64
-
stdinToBase64
-
fileToBytes
- Throws:
IOException
-
fileToLines
- Throws:
IOException
-
stdinToBytes
- Throws:
IOException
-
stdinToStrings
- Throws:
IOException
-
bytesToBase64
-
stringToBase64
-
haltAgent
private void haltAgent() -
killAllSession
private void killAllSession() -
createRequest
private AgentRequestAction createRequest(AgentRequestAction.RequestAction action, String... commands) -
createRequest
public static AgentRequestAction createRequest(VmInfo vmInfo, AgentRequestAction.RequestAction action, String... commands) -
submitRequest
-
submitRequest
-
isVerbose
public boolean isVerbose() -
setVerbose
public void setVerbose(boolean verbose) -
createFilter
-
cpTextInfo
- Specified by:
cpTextInfoin interfaceClassesAndMethodsProvider
-