Class BundleWiringImpl.BundleClassLoader

    • 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 Bundle 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