Package org.jboss.classloading.spi.dependency.policy

Examples of org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule


            log.debug("Asked to create top level classloader for subdeployment: " + unitName);
         }
      }
     
      // Create the module
      ClassLoaderPolicyModule module = createModule(unit, deployment);
      if (module != null)
      {
         classLoading.addModule(module);
         unit.addAttachment(Module.class, module);
      }
View Full Code Here


   }

   public void deploy(DeploymentUnit unit, ClassLoadingMetaData deployment) throws DeploymentException
   {
      // Do nothing if another deployer has already created the module
      ClassLoaderPolicyModule module = unit.getAttachment(Module.class.getName(), ClassLoaderPolicyModule.class);
      if (module != null)
         return;

      // We only look at non top level deployments that have classloading metadata
      if (unit.isTopLevel() == false)
View Full Code Here

            return unit.getParent().getClassLoader();
      }

      if (module instanceof ClassLoaderPolicyModule == false)
         throw new IllegalStateException("Module is not an instance of " + ClassLoaderPolicyModule.class.getName() + " actual=" + module.getClass().getName());
      ClassLoaderPolicyModule classLoaderPolicyModule = (ClassLoaderPolicyModule) module;

      boolean explicitTopLevel = false;
      ClassLoadingMetaData clmd = unit.getAttachment(ClassLoadingMetaData.class);
      if (clmd != null && clmd.isTopLevelClassLoader())
         explicitTopLevel = true;
     
      if (unit.isTopLevel() || module.getParentDomainName() != null || explicitTopLevel)
      {
         // Top level, just create the classloader
         return classLoaderPolicyModule.registerClassLoaderPolicy(system);
      }
      else
      {
         // Subdeployment that wants a classloader
         ClassLoader parentClassLoader = unit.getParent().getClassLoader();
         return classLoaderPolicyModule.registerClassLoaderPolicy(system, parentClassLoader);
      }
   }
View Full Code Here

      try
      {
         List<ClassLoadingTranslatorMetaData> translators = deployment.getTranslators();
         if (translators != null)
         {
            ClassLoaderPolicyModule clpm = (ClassLoaderPolicyModule) module;
            ClassLoaderDomain domain = system.getDomain(module.getDeterminedDomainName());
            ClassLoaderPolicy policy = clpm.getPolicy();
            ClassLoader cl = unit.getClassLoader();

            for (ClassLoadingTranslatorMetaData cltmd : translators)
            {
               TranslatorScope scope = cltmd.getScope();
               if (scope == null)
                  throw new IllegalArgumentException("Null scope for: " + cltmd);

               String className = cltmd.getClassName();
               Object instance = cl.loadClass(className).newInstance();
               String methodName = cltmd.getMethod();
               Translator translator;
               if (methodName != null)
                  translator = new ReflectionTranslator(instance, methodName);
               else
                  translator = Translator.class.cast(instance);

               scope.addTranslator(system, domain, policy, translator);
               added.put(translator, scope);
            }

            unit.addAttachment(TRANSLATORS_KEY, added);
         }
      }
      catch (Exception e)
      {
         ClassLoaderPolicyModule clpm = (ClassLoaderPolicyModule) module;
         ClassLoaderDomain domain = system.getDomain(module.getDeterminedDomainName());
         ClassLoaderPolicy policy = clpm.getPolicy();

         for (Map.Entry<Translator, TranslatorScope> entry : added.entrySet())
         {
            entry.getValue().removeTranslator(system, domain, policy, entry.getKey());
         }
View Full Code Here

         return;

      Map<Translator, TranslatorScope> added = unit.getAttachment(TRANSLATORS_KEY, Map.class);
      if (added != null)
      {
         ClassLoaderPolicyModule clpm = (ClassLoaderPolicyModule) module;
         ClassLoaderDomain domain = system.getDomain(module.getDeterminedDomainName());
         ClassLoaderPolicy policy = clpm.getPolicy();

         for (Map.Entry<Translator, TranslatorScope> entry : added.entrySet())
         {
            entry.getValue().removeTranslator(system, domain, policy, entry.getKey());
         }
View Full Code Here

            log.debug("Will create top level classloader for subdeployment: " + unitName);
         }
      }
     
      // Create the module
      ClassLoaderPolicyModule module = createModule(unit, deployment);
      if (module != null)
      {
         classLoading.addModule(module);
         unit.addAttachment(Module.class, module);
      }
View Full Code Here

            return unit.getParent().getClassLoader();
      }

      if (module instanceof ClassLoaderPolicyModule == false)
         throw new IllegalStateException("Module is not an instance of " + ClassLoaderPolicyModule.class.getName() + " actual=" + module.getClass().getName());
      ClassLoaderPolicyModule classLoaderPolicyModule = (ClassLoaderPolicyModule) module;

      if (unit.isTopLevel() || module.getParentDomainName() != null)
      {
         // Top level, just create the classloader
         return classLoaderPolicyModule.registerClassLoaderPolicy(system);
      }
      else
      {
         // Subdeployment that wants a classloader
         ClassLoader parentClassLoader = unit.getParent().getClassLoader();
         return classLoaderPolicyModule.registerClassLoaderPolicy(system, parentClassLoader);
      }
   }
View Full Code Here

         // since the parent is the deployment classloader
         deployment.setDomain(unit.getName());
      }
     
      // Create the module
      ClassLoaderPolicyModule module = createModule(unit, deployment);
      if (module != null)
      {
         classLoading.addModule(module);
         unit.addAttachment(Module.class, module);
      }
View Full Code Here

            return unit.getParent().getClassLoader();
      }

      if (module instanceof ClassLoaderPolicyModule == false)
         throw new IllegalStateException("Module is not an instance of " + ClassLoaderPolicyModule.class.getName() + " actual=" + module.getClass().getName());
      ClassLoaderPolicyModule classLoaderPolicyModule = (ClassLoaderPolicyModule) module;

      if (unit.isTopLevel())
      {
         // Top level, just create the classloader
         return classLoaderPolicyModule.registerClassLoaderPolicy(system);
      }
      else
      {
         // Subdeployment that wants a classloader
         ClassLoader parentClassLoader = unit.getParent().getClassLoader();
         return classLoaderPolicyModule.registerClassLoaderPolicy(system, parentClassLoader);
      }
   }
View Full Code Here

            return unit.getParent().getClassLoader();
      }

      if (module instanceof ClassLoaderPolicyModule == false)
         throw new IllegalStateException("Module is not an instance of " + ClassLoaderPolicyModule.class.getName() + " actual=" + module.getClass().getName());
      ClassLoaderPolicyModule classLoaderPolicyModule = (ClassLoaderPolicyModule) module;

      if (unit.isTopLevel())
      {
         // Top level, just create the classloader
         return classLoaderPolicyModule.registerClassLoaderPolicy(system);
      }
      else
      {
         // Subdeployment that wants a classloader
         ClassLoader parentClassLoader = unit.getParent().getClassLoader();
         return classLoaderPolicyModule.registerClassLoaderPolicy(system, parentClassLoader);
      }
   }
View Full Code Here

TOP

Related Classes of org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.