Package org.jboss.classloading.spi.metadata

Examples of org.jboss.classloading.spi.metadata.Requirement


      return requirement;
   }

   public boolean resolve(Controller controller)
   {
      Requirement requirement = getRequirement();
      Module module = getModule().resolveModule(this, true);
      if (module != null)
      {
         Object iDependOn = module.getContextName();
         ControllerContext context = controller.getContext(iDependOn, getDependentState());
         if (context != null)
         {
            setIDependOn(context.getName());
            addDependsOnMe(controller, context);
            setResolved(true);
         }
         else
         {
            setResolved(false);
         }
      }
      else
      {
         // Optional requirement
         if (requirement.isOptional() || requirement.isDynamic())
            setResolved(true);
      }
      return isResolved();
   }
View Full Code Here


      if (dependencies == null || dependencies.isEmpty())
         return;
     
      for (RequirementDependencyItem item : dependencies)
      {
         Requirement requirement = item.getRequirement();
        
         // If we are looking at everything or this is a re-export
         if (reExport == false || requirement.isReExport())
         {
            // Sanity checks
            if (item.isResolved() == false)
               throw new IllegalStateException("Item not resolved: " + item);
           
            // Dynamic requirement, create it lazily
            if (requirement.isDynamic())
            {
               DelegateLoader delegate = createLazyDelegateLoader(checkDomain(), item);
               dynamic.add(delegate);
               continue;
            }

            String name = (String) item.getIDependOn();
            if (name == null)
            {
               // Optional requirement, just ignore
               if (requirement.isOptional())
                  continue;
               // Something has gone wrong
               throw new IllegalStateException("No iDependOn for item: " + item);
            }
            Module iDependOnModule = checkDomain().getModule(name);
            if (iDependOnModule == null)
               throw new IllegalStateException("Module not found with name: " + name);

            // Determine the delegate loader for the module
            Module other = item.getModule();
            DelegateLoader delegate = iDependOnModule.getDelegateLoader(other, requirement);

            // Check for re-export by the module
            if (requirement.wantReExports())
               addDelegates(iDependOnModule, delegates, dynamic, visited, true);
           
            // We want a module's re-exports (i.e. part of its imports) before the module itself
            if (delegate != null)
               delegates.add(delegate);
View Full Code Here

   {
      ClassLoadingSpace space = getClassLoadingSpace();
      if (resolveSpace && space != null)
         space.resolve(this);

      Requirement requirement = dependency.getRequirement();
      return checkDomain().resolveModule(this, requirement);
   }
View Full Code Here

      super(factory, filter);
      if (controller == null)
         throw new IllegalArgumentException("Null controller");
      if (item == null)
         throw new IllegalArgumentException("Null item");
      Requirement requirement = item.getRequirement();
      if (requirement instanceof PackageRequirement == false)
         throw new IllegalArgumentException("Illegal package requirement: " + requirement);

      this.controller = controller;
      this.module = item.getModule();
View Full Code Here

    * @param pckg the current package we're trying to lookup.
    * @return the matching delegate loader or null if no such match
    */
   protected DelegateLoader resolve(String pckg)
   {
      Requirement requirement = new PackageRequirement(pckg, range);
      ControllerState state = module.getClassLoaderState();
      // resolve both sides of the wire at the same state
      WildcardRequirementDependencyItem item = new WildcardRequirementDependencyItem(module, requirement, state, state);
      if (item.resolve(controller))
      {
View Full Code Here

         List<Requirement> added = new ArrayList<Requirement>();
         try
         {
            for (String integrationModuleName : integrationModuleNames)
            {
               Requirement integrationRequirement = factory.createRequireModule(integrationModuleName, integrationModule.getVersionRange());
               requirements.addRequirement(integrationRequirement);
               added.add(integrationModule);
            }
         }
         catch (Throwable t)
View Full Code Here

            ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();
            for (String integrationModuleName : integrationModuleNames)
            {
               try
               {
                  Requirement integrationRequirement = factory.createRequireModule(integrationModuleName, integrationModule.getVersionRange());
                  requirements.removeRequirement(integrationRequirement);
               }
               catch (Throwable t)
               {
                  log.warn("Error during requirement removal: " + integrationModuleName, t);
View Full Code Here

      if (dependencies == null || dependencies.isEmpty())
         return;
     
      for (RequirementDependencyItem item : dependencies)
      {
         Requirement requirement = item.getRequirement();
        
         // If we are looking at everything or this is a re-export
         if (reExport == false || requirement.isReExport())
         {
            // Sanity checks
            if (item.isResolved() == false)
               throw new IllegalStateException("Item not resolved: " + item);
           
            // Dynamic requirement, create it lazily
            if (requirement.isDynamic())
            {
               DelegateLoader delegate = createLazyDelegateLoader(checkDomain(), item);
               dynamic.add(delegate);
               continue;
            }

            String name = (String) item.getIDependOn();
            if (name == null)
            {
               // Optional requirement, just ignore
               if (requirement.isOptional())
                  continue;
               // Something has gone wrong
               throw new IllegalStateException("No iDependOn for item: " + item);
            }
            Module iDependOnModule = checkDomain().getModule(name);
            if (iDependOnModule == null)
               throw new IllegalStateException("Module not found with name: " + name);

            // Determine the delegate loader for the module
            Module other = item.getModule();
            DelegateLoader delegate = iDependOnModule.getDelegateLoader(other, requirement);

            // Check for re-export by the module
            if (requirement.wantReExports())
               addDelegates(iDependOnModule, delegates, dynamic, visited, true);
           
            // We want a module's re-exports (i.e. part of its imports) before the module itself
            if (delegate != null)
               delegates.add(delegate);
View Full Code Here

   {
      ClassLoadingSpace space = getClassLoadingSpace();
      if (resolveSpace && space != null)
         space.resolve(this);

      Requirement requirement = dependency.getRequirement();
      return checkDomain().resolveModule(this, requirement);
   }
View Full Code Here

         List<Requirement> added = new ArrayList<Requirement>();
         try
         {
            for (String integrationModuleName : integrationModuleNames)
            {
               Requirement integrationRequirement = factory.createRequireModule(integrationModuleName, integrationModule.getVersionRange());
               requirements.addRequirement(integrationRequirement);
               added.add(integrationModule);
            }
         }
         catch (Throwable t)
View Full Code Here

TOP

Related Classes of org.jboss.classloading.spi.metadata.Requirement

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.