Package org.jrd.agent

Class AgentActionWorker

  • All Implemented Interfaces:
    java.lang.Runnable

    public class AgentActionWorker
    extends java.lang.Thread
    This class handles the socket accepting and request processing from the decompiler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Boolean abort  
      private static java.lang.String AGENT_ERROR_ID  
      private InstrumentationProvider provider  
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void closeSocket​(java.io.BufferedWriter out, java.net.Socket socket)  
      private void executeParametrisedNoReturnCommand​(java.io.BufferedReader in, java.io.BufferedWriter out, java.lang.String help, AgentActionWorker.ParametrisedRunner parametrisedRunner)  
      private void executeRequest​(java.net.Socket socket, InstrumentationProvider localProvider)  
      private void getAllFilteredClasses​(java.io.BufferedReader in, java.io.BufferedWriter out)  
      private void getAllLoadedClasses​(java.io.BufferedWriter out, boolean doGetInfo)  
      private void getAllOverridesClasses​(java.io.BufferedWriter out)  
      private void getList​(java.io.BufferedWriter out, java.lang.String id, AgentActionWorker.ListInjector<java.lang.String> injector)  
      private void getVersion​(java.io.BufferedWriter out)  
      private void initClass​(java.io.BufferedReader in, java.io.BufferedWriter out)  
      private void receiveByteCode​(java.io.BufferedReader in, java.io.BufferedWriter out, ReceivedType rewroteAddJar)  
      private void removeOverrides​(java.io.BufferedReader in, java.io.BufferedWriter out)  
      private void sendByteCode​(java.io.BufferedReader in, java.io.BufferedWriter out)  
      private static java.lang.String toError​(java.lang.String message)  
      private static java.lang.String toError​(java.lang.Throwable ex)  
      private void writeToStreamBasedOnLine​(java.net.Socket socket, InstrumentationProvider localProvider, java.io.BufferedReader inputStream, java.io.BufferedWriter outputStream, java.lang.String line)  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • toError

        private static java.lang.String toError​(java.lang.String message)
      • toError

        private static java.lang.String toError​(java.lang.Throwable ex)
      • writeToStreamBasedOnLine

        private void writeToStreamBasedOnLine​(java.net.Socket socket,
                                              InstrumentationProvider localProvider,
                                              java.io.BufferedReader inputStream,
                                              java.io.BufferedWriter outputStream,
                                              java.lang.String line)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • getList

        private void getList​(java.io.BufferedWriter out,
                             java.lang.String id,
                             AgentActionWorker.ListInjector<java.lang.String> injector)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • getAllLoadedClasses

        private void getAllLoadedClasses​(java.io.BufferedWriter out,
                                         boolean doGetInfo)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • getAllFilteredClasses

        private void getAllFilteredClasses​(java.io.BufferedReader in,
                                           java.io.BufferedWriter out)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • getAllOverridesClasses

        private void getAllOverridesClasses​(java.io.BufferedWriter out)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • sendByteCode

        private void sendByteCode​(java.io.BufferedReader in,
                                  java.io.BufferedWriter out)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getVersion

        private void getVersion​(java.io.BufferedWriter out)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • executeParametrisedNoReturnCommand

        private void executeParametrisedNoReturnCommand​(java.io.BufferedReader in,
                                                        java.io.BufferedWriter out,
                                                        java.lang.String help,
                                                        AgentActionWorker.ParametrisedRunner parametrisedRunner)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • initClass

        private void initClass​(java.io.BufferedReader in,
                               java.io.BufferedWriter out)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • removeOverrides

        private void removeOverrides​(java.io.BufferedReader in,
                                     java.io.BufferedWriter out)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • receiveByteCode

        private void receiveByteCode​(java.io.BufferedReader in,
                                     java.io.BufferedWriter out,
                                     ReceivedType rewroteAddJar)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • closeSocket

        private void closeSocket​(java.io.BufferedWriter out,
                                 java.net.Socket socket)
                          throws java.io.IOException
        Throws:
        java.io.IOException