Class BundleWiringImpl.BundleClassLoader

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void callWovenClassListeners​(Felix felix, java.util.Set<ServiceReference<WovenClassListener>> wovenClassListeners, WovenClass wovenClass)  
      (package private) java.lang.Class defineClass​(Felix felix, java.util.Set<ServiceReference<WovenClassListener>> wovenClassListeners, WovenClassImpl wci, java.lang.String name, java.lang.Class clazz, byte[] bytes, Content content, java.lang.String pkgName, java.lang.Object lock)  
      private java.lang.Object[] definePackage​(java.lang.String pkgName)  
      protected java.lang.Class findClass​(java.lang.String name)  
      protected java.lang.String findLibrary​(java.lang.String name)  
      protected java.net.URL findResource​(java.lang.String name)  
      protected java.util.Enumeration findResources​(java.lang.String name)  
      BundleImpl getBundle()
      Returns the Bundle object associated with this BundleReference.
      private java.lang.Class getDexFileClass​(JarContent content, java.lang.String name, java.lang.ClassLoader loader)  
      java.net.URL getResource​(java.lang.String name)  
      boolean isActivationTriggered()  
      protected boolean isParallel()  
      protected java.lang.Class loadClass​(java.lang.String name, boolean resolve)  
      java.lang.String toString()  
      (package private) void transformClass​(Felix felix, WovenClassImpl wci, java.util.Set<ServiceReference<WeavingHook>> hooks, java.util.Set<ServiceReference<WovenClassListener>> wovenClassListeners, java.lang.String name, byte[] bytes)  
      • Methods inherited from class java.security.SecureClassLoader

        defineClass, defineClass, getPermissions
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • m_isActivationTriggered

        private volatile boolean m_isActivationTriggered
      • m_jarContentToDexFile

        private final java.util.Map m_jarContentToDexFile
      • m_cachedLibs

        private java.lang.Object[][] m_cachedLibs
      • m_classLocks

        private final java.util.Map<java.lang.String,​java.lang.Thread> m_classLocks
      • m_logger

        private final Logger m_logger
    • Constructor Detail

      • BundleClassLoader

        public BundleClassLoader​(BundleWiringImpl wiring,
                                 java.lang.ClassLoader parent,
                                 Logger logger)
    • Method Detail

      • isParallel

        protected boolean isParallel()
      • isActivationTriggered

        public boolean isActivationTriggered()
      • getBundle

        public BundleImpl getBundle()
        Description copied from interface: BundleReference
        Returns the Bundle object associated with this BundleReference.
        Specified by:
        getBundle in interface BundleReference
        Returns:
        The Bundle object associated with this BundleReference.
      • loadClass

        protected java.lang.Class loadClass​(java.lang.String name,
                                            boolean resolve)
                                     throws java.lang.ClassNotFoundException
        Overrides:
        loadClass in class java.lang.ClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • findClass

        protected java.lang.Class findClass​(java.lang.String name)
                                     throws java.lang.ClassNotFoundException
        Overrides:
        findClass in class java.lang.ClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • defineClass

        java.lang.Class defineClass​(Felix felix,
                                    java.util.Set<ServiceReference<WovenClassListener>> wovenClassListeners,
                                    WovenClassImpl wci,
                                    java.lang.String name,
                                    java.lang.Class clazz,
                                    byte[] bytes,
                                    Content content,
                                    java.lang.String pkgName,
                                    java.lang.Object lock)
                             throws java.lang.ClassFormatError
        Throws:
        java.lang.ClassFormatError
      • definePackage

        private java.lang.Object[] definePackage​(java.lang.String pkgName)
      • getDexFileClass

        private java.lang.Class getDexFileClass​(JarContent content,
                                                java.lang.String name,
                                                java.lang.ClassLoader loader)
                                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getResource

        public java.net.URL getResource​(java.lang.String name)
        Overrides:
        getResource in class java.lang.ClassLoader
      • findResource

        protected java.net.URL findResource​(java.lang.String name)
        Overrides:
        findResource in class java.lang.ClassLoader
      • findResources

        protected java.util.Enumeration findResources​(java.lang.String name)
        Overrides:
        findResources in class java.lang.ClassLoader
      • findLibrary

        protected java.lang.String findLibrary​(java.lang.String name)
        Overrides:
        findLibrary in class java.lang.ClassLoader
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object