Class AbstractClassloaderExecutor

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private void assertArgumentNotNull​(java.lang.Object object, java.lang.String argumentName)  
      private java.lang.Object[] cloneArguments​(java.lang.Object[] arguments, DeepClonerSPI deepCloner)  
      private java.lang.Object cloneResult​(java.lang.Object result)  
      private DeepClonerSPI createDeepCloner​(java.lang.ClassLoader classLoader)  
      protected abstract java.lang.Object execute​(java.lang.Object instance, java.lang.reflect.Method method, java.lang.Object... arguments)  
      void execute​(java.lang.Runnable runnable)  
      <T> T execute​(java.util.concurrent.Callable<T> callable)  
      (package private) java.lang.Object executeWithClassLoader​(java.lang.Object instance, java.lang.reflect.Method method, java.lang.ClassLoader classloader, java.lang.Object[] arguments)  
      private java.lang.Object getResult​(java.lang.reflect.Method method, java.lang.Object objectLoadedWithClassloader, java.lang.Object[] argumentsLoadedByClassLoader)  
      • Methods inherited from class java.lang.Object

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

      • AbstractClassloaderExecutor

        public AbstractClassloaderExecutor()
    • Method Detail

      • execute

        public <T> T execute​(java.util.concurrent.Callable<T> callable)
        Specified by:
        execute in interface ClassloaderExecutor
      • assertArgumentNotNull

        private void assertArgumentNotNull​(java.lang.Object object,
                                           java.lang.String argumentName)
      • execute

        protected abstract java.lang.Object execute​(java.lang.Object instance,
                                                    java.lang.reflect.Method method,
                                                    java.lang.Object... arguments)
      • executeWithClassLoader

        java.lang.Object executeWithClassLoader​(java.lang.Object instance,
                                                java.lang.reflect.Method method,
                                                java.lang.ClassLoader classloader,
                                                java.lang.Object[] arguments)
      • cloneResult

        private java.lang.Object cloneResult​(java.lang.Object result)
      • getResult

        private java.lang.Object getResult​(java.lang.reflect.Method method,
                                           java.lang.Object objectLoadedWithClassloader,
                                           java.lang.Object[] argumentsLoadedByClassLoader)
      • cloneArguments

        private java.lang.Object[] cloneArguments​(java.lang.Object[] arguments,
                                                  DeepClonerSPI deepCloner)
      • createDeepCloner

        private DeepClonerSPI createDeepCloner​(java.lang.ClassLoader classLoader)