Package org.jrd.frontend.frame.overwrite
Class OverwriteClassDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- org.jrd.frontend.frame.overwrite.OverwriteClassDialog
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class OverwriteClassDialog extends javax.swing.JDialog
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OverwriteClassDialog.CompilationWithResult
private static class
OverwriteClassDialog.CompilerOutputActionFields
private static class
OverwriteClassDialog.DummyUploadProvider
private static class
OverwriteClassDialog.SavingCompilerOutputAction
private static class
OverwriteClassDialog.TextFieldBasedStus
static interface
OverwriteClassDialog.TextLog
private static class
OverwriteClassDialog.UploadingCompilerOutputAction
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JLabel
binaryFilename
private javax.swing.JPanel
binaryView
private javax.swing.JPanel
buttons
private javax.swing.JTextField
bytemanCompanionHostPort
private javax.swing.JTextField
bytemanHostPort
private javax.swing.JTextField
bytemanPid
private javax.swing.JTextField
bytemanStatus
private javax.swing.JPanel
bytemanView
private javax.swing.JTextField
className
private javax.swing.JTextField
classNameLoader
private javax.swing.JButton
compileAndSave
private javax.swing.JButton
compileAndUpload
private javax.swing.JButton
compileAndUploadByteman
private javax.swing.JTextField
compileAndUploadClassloader
private javax.swing.JButton
compileByteman
private javax.swing.JButton
compileExternalFiles
private javax.swing.JButton
compileExternalFilesAndUpload
private javax.swing.JTextField
compileExternalFilesAndUploadClassloader
private ClasspathProvider
cp
private javax.swing.JButton
createUpdateCompanion
private javax.swing.JPanel
currentBufferPane
private javax.swing.JLabel
currentClass
private DecompilerWrapper
decompiler
private javax.swing.JTabbedPane
dualPane
private javax.swing.JPanel
externalFiles
private javax.swing.JTextField
filePath
private javax.swing.JTextField
filesToCompile
private javax.swing.JTextField
futureBinTarget
private javax.swing.JTextField
futureSrcTarget
private PluginManager.BundledCompilerStatus
haveCompiler
private javax.swing.JPanel
inputs
private javax.swing.JButton
loadByteman
private javax.swing.JPanel
manualPane
private javax.swing.JComboBox<java.lang.String>
namingBinary
private javax.swing.JComboBox<java.lang.String>
namingBinaryView
private javax.swing.JComboBox<java.lang.String>
namingExternal
private javax.swing.JComboBox<java.lang.String>
namingSource
private javax.swing.JButton
ok
private byte[]
origBin
private java.lang.String
origBuffer
private java.lang.String
origClassloader
private java.lang.String
origName
private javax.swing.JTextField
outputBinaries
private javax.swing.JTextField
outputExternalFilesDir
private javax.swing.JLabel
overwriteXaddWarning1
private javax.swing.JLabel
overwriteXaddWarning2
private PluginManager
pluginManager
private javax.swing.JCheckBox
recursive
private javax.swing.JComboBox
rewriteOrAdd
private static java.lang.String[]
SAVE_OPTIONS
private javax.swing.JButton
saveBinary
private javax.swing.JButton
saveByteman
private javax.swing.JButton
saveBytemanAs
private javax.swing.JTextField
saveBytemanAsFile
private javax.swing.JLabel
saveBytemanAsFileSize
private javax.swing.JButton
saveSrcBuffer
private javax.swing.JButton
selectBinary
private javax.swing.JButton
selectBinTarget
private javax.swing.JButton
selectExternalFiles
private javax.swing.JButton
selectExternalFilesSave
private javax.swing.JButton
selectSrc
private javax.swing.JButton
selectSrcTarget
private javax.swing.JTextField
statusBinary
private javax.swing.JTextField
statusCompileCurrentBuffer
private javax.swing.JTextField
statusExternalFiles
private javax.swing.JButton
unloadAllBytemans
private javax.swing.JButton
unloadByteman
private javax.swing.JButton
uploadBinary
private javax.swing.JTextField
uploadBinaryClassloadedr
private javax.swing.JLabel
validation
private VmInfo
vmInfo
private VmManager
vmManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description OverwriteClassDialog(ClassInfo name, LatestPaths latestPaths, java.lang.String currentBuffer, byte[] cBinBuffer, VmInfo vmInfo, VmManager vmManager, PluginManager pluginManager, DecompilerWrapper selectedDecompiler, int tab, boolean isVerbose, ClasspathProvider cp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addComponentsToPanels()
private static OverwriteClassDialog.CompilationWithResult
compileWithGui(VmInfo vmInfo, VmManager vmManager, DecompilerWrapper wrapper, boolean hasCompiler, boolean isVerbose, java.lang.String classloader, io.github.mkoncek.classpathless.api.IdentifiedSource... sources)
private void
dealWithNewContent(java.io.File toLoadFrom)
private void
dealWithOverWrite(java.io.File toSaveTo)
static io.github.mkoncek.classpathless.api.ClasspathlessCompiler
getClasspathlessCompiler(DecompilerWrapper wrapper, boolean hasCompiler, boolean isVerbose)
java.lang.String
getFilesToCompile()
java.lang.String
getManualUploadPath()
java.lang.String
getOutputBinaries()
java.lang.String
getOutputExternalFilesDir()
java.lang.String
getSaveBinPath()
java.lang.String
getSaveSrcPath()
private java.lang.String
pidOrPort()
private void
prepareBytemanLayout()
(package private) static void
purgeSourceTarget(java.util.List<java.lang.String> compilerArgs)
private void
setOkListener(boolean isVerbose)
private void
setSelectListener()
private static void
setSelectSaveListener(javax.swing.JButton selectTarget, javax.swing.JTextField futureTarget, javax.swing.JComboBox<java.lang.String> naming)
private void
setValidation()
-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
SAVE_OPTIONS
private static final java.lang.String[] SAVE_OPTIONS
-
dualPane
private final javax.swing.JTabbedPane dualPane
-
currentBufferPane
private final javax.swing.JPanel currentBufferPane
-
currentClass
private final javax.swing.JLabel currentClass
-
selectSrcTarget
private final javax.swing.JButton selectSrcTarget
-
futureSrcTarget
private final javax.swing.JTextField futureSrcTarget
-
namingSource
private final javax.swing.JComboBox<java.lang.String> namingSource
-
selectBinTarget
private final javax.swing.JButton selectBinTarget
-
futureBinTarget
private final javax.swing.JTextField futureBinTarget
-
namingBinary
private final javax.swing.JComboBox<java.lang.String> namingBinary
-
saveSrcBuffer
private final javax.swing.JButton saveSrcBuffer
-
compileAndSave
private final javax.swing.JButton compileAndSave
-
compileAndUploadClassloader
private final javax.swing.JTextField compileAndUploadClassloader
-
compileAndUpload
private final javax.swing.JButton compileAndUpload
-
statusCompileCurrentBuffer
private final javax.swing.JTextField statusCompileCurrentBuffer
-
manualPane
private final javax.swing.JPanel manualPane
-
inputs
private final javax.swing.JPanel inputs
-
buttons
private final javax.swing.JPanel buttons
-
validation
private final javax.swing.JLabel validation
-
filePath
private final javax.swing.JTextField filePath
-
className
private final javax.swing.JTextField className
-
classNameLoader
private final javax.swing.JTextField classNameLoader
-
selectSrc
private final javax.swing.JButton selectSrc
-
rewriteOrAdd
private final javax.swing.JComboBox rewriteOrAdd
-
ok
private final javax.swing.JButton ok
-
pluginManager
private final PluginManager pluginManager
-
decompiler
private final DecompilerWrapper decompiler
-
haveCompiler
private PluginManager.BundledCompilerStatus haveCompiler
-
externalFiles
private final javax.swing.JPanel externalFiles
-
filesToCompile
private final javax.swing.JTextField filesToCompile
-
selectExternalFiles
private final javax.swing.JButton selectExternalFiles
-
recursive
private final javax.swing.JCheckBox recursive
-
outputExternalFilesDir
private final javax.swing.JTextField outputExternalFilesDir
-
namingExternal
private final javax.swing.JComboBox<java.lang.String> namingExternal
-
selectExternalFilesSave
private final javax.swing.JButton selectExternalFilesSave
-
compileExternalFiles
private final javax.swing.JButton compileExternalFiles
-
overwriteXaddWarning1
private final javax.swing.JLabel overwriteXaddWarning1
-
compileExternalFilesAndUploadClassloader
private final javax.swing.JTextField compileExternalFilesAndUploadClassloader
-
compileExternalFilesAndUpload
private final javax.swing.JButton compileExternalFilesAndUpload
-
statusExternalFiles
private final javax.swing.JTextField statusExternalFiles
-
binaryView
private final javax.swing.JPanel binaryView
-
binaryFilename
private final javax.swing.JLabel binaryFilename
-
namingBinaryView
private final javax.swing.JComboBox<java.lang.String> namingBinaryView
-
outputBinaries
private final javax.swing.JTextField outputBinaries
-
selectBinary
private final javax.swing.JButton selectBinary
-
saveBinary
private final javax.swing.JButton saveBinary
-
overwriteXaddWarning2
private final javax.swing.JLabel overwriteXaddWarning2
-
uploadBinaryClassloadedr
private final javax.swing.JTextField uploadBinaryClassloadedr
-
uploadBinary
private final javax.swing.JButton uploadBinary
-
statusBinary
private final javax.swing.JTextField statusBinary
-
bytemanView
private final javax.swing.JPanel bytemanView
-
saveBytemanAsFile
private final javax.swing.JTextField saveBytemanAsFile
-
saveBytemanAsFileSize
private final javax.swing.JLabel saveBytemanAsFileSize
-
bytemanStatus
private final javax.swing.JTextField bytemanStatus
-
saveByteman
private final javax.swing.JButton saveByteman
-
saveBytemanAs
private final javax.swing.JButton saveBytemanAs
-
loadByteman
private final javax.swing.JButton loadByteman
-
compileByteman
private final javax.swing.JButton compileByteman
-
compileAndUploadByteman
private final javax.swing.JButton compileAndUploadByteman
-
unloadByteman
private final javax.swing.JButton unloadByteman
-
unloadAllBytemans
private final javax.swing.JButton unloadAllBytemans
-
bytemanHostPort
private final javax.swing.JTextField bytemanHostPort
-
bytemanCompanionHostPort
private final javax.swing.JTextField bytemanCompanionHostPort
-
bytemanPid
private final javax.swing.JTextField bytemanPid
-
createUpdateCompanion
private final javax.swing.JButton createUpdateCompanion
-
origName
private final java.lang.String origName
-
origClassloader
private final java.lang.String origClassloader
-
origBuffer
private java.lang.String origBuffer
-
origBin
private final byte[] origBin
-
vmInfo
private final VmInfo vmInfo
-
vmManager
private final VmManager vmManager
-
cp
private final ClasspathProvider cp
-
-
Constructor Detail
-
OverwriteClassDialog
public OverwriteClassDialog(ClassInfo name, LatestPaths latestPaths, java.lang.String currentBuffer, byte[] cBinBuffer, VmInfo vmInfo, VmManager vmManager, PluginManager pluginManager, DecompilerWrapper selectedDecompiler, int tab, boolean isVerbose, ClasspathProvider cp)
-
-
Method Detail
-
dealWithOverWrite
private void dealWithOverWrite(java.io.File toSaveTo) throws java.io.IOException
- Throws:
java.io.IOException
-
dealWithNewContent
private void dealWithNewContent(java.io.File toLoadFrom) throws java.io.IOException
- Throws:
java.io.IOException
-
pidOrPort
private java.lang.String pidOrPort()
-
setValidation
private void setValidation()
-
setSelectListener
private void setSelectListener()
-
setSelectSaveListener
private static void setSelectSaveListener(javax.swing.JButton selectTarget, javax.swing.JTextField futureTarget, javax.swing.JComboBox<java.lang.String> naming)
-
setOkListener
private void setOkListener(boolean isVerbose)
-
compileWithGui
private static OverwriteClassDialog.CompilationWithResult compileWithGui(VmInfo vmInfo, VmManager vmManager, DecompilerWrapper wrapper, boolean hasCompiler, boolean isVerbose, java.lang.String classloader, io.github.mkoncek.classpathless.api.IdentifiedSource... sources)
-
getClasspathlessCompiler
public static io.github.mkoncek.classpathless.api.ClasspathlessCompiler getClasspathlessCompiler(DecompilerWrapper wrapper, boolean hasCompiler, boolean isVerbose)
-
purgeSourceTarget
static void purgeSourceTarget(java.util.List<java.lang.String> compilerArgs)
-
addComponentsToPanels
private void addComponentsToPanels()
-
prepareBytemanLayout
private void prepareBytemanLayout()
-
getManualUploadPath
public java.lang.String getManualUploadPath()
-
getSaveSrcPath
public java.lang.String getSaveSrcPath()
-
getSaveBinPath
public java.lang.String getSaveBinPath()
-
getFilesToCompile
public java.lang.String getFilesToCompile()
-
getOutputExternalFilesDir
public java.lang.String getOutputExternalFilesDir()
-
getOutputBinaries
public java.lang.String getOutputBinaries()
-
-