Class ResolverImpl

  • All Implemented Interfaces:
    Resolver

    public class ResolverImpl
    extends java.lang.Object
    implements Resolver
    • Constructor Detail

      • ResolverImpl

        public ResolverImpl​(org.osgi.framework.BundleContext context,
                            Repository[] repositories,
                            org.apache.felix.utils.log.Logger logger)
    • Method Detail

      • add

        public void add​(Resource resource)
        Description copied from interface: Resolver
        Add the following resource to the resolution. The resource will be part of the output and all its requirements will be satisfied. It has the same effect has adding a requirement that will match this resource by symbolicname and version. The current resolution will be lost after adding a resource.
        Specified by:
        add in interface Resolver
        Parameters:
        resource - the resource to add
      • getAddedResources

        public Resource[] getAddedResources()
        Description copied from interface: Resolver
        Returns the list of resources that have been added to the resolution
        Specified by:
        getAddedResources in interface Resolver
        Returns:
      • add

        public void add​(Requirement requirement)
        Description copied from interface: Resolver
        Add the following requirement to the resolution The current resolution will be lost after adding a requirement.
        Specified by:
        add in interface Resolver
        Parameters:
        requirement - the requirement to add
      • getAddedRequirements

        public Requirement[] getAddedRequirements()
        Description copied from interface: Resolver
        Returns the list of requirements that have been added to the resolution
        Specified by:
        getAddedRequirements in interface Resolver
        Returns:
      • addGlobalCapability

        public void addGlobalCapability​(Capability capability)
        Description copied from interface: Resolver
        Add a global capability. A global capability is one capability provided by the environment but not reflected in local resources.
        Specified by:
        addGlobalCapability in interface Resolver
        Parameters:
        capability - the new global capability
      • getRequiredResources

        public Resource[] getRequiredResources()
        Description copied from interface: Resolver
        List of mandatory resources that need to be installed
        Specified by:
        getRequiredResources in interface Resolver
        Returns:
      • getOptionalResources

        public Resource[] getOptionalResources()
        Description copied from interface: Resolver
        List of optional resources that may be installed
        Specified by:
        getOptionalResources in interface Resolver
        Returns:
      • getReason

        public Reason[] getReason​(Resource resource)
        Description copied from interface: Resolver
        List of reasons why a resource has been included either as a mandatory or optional resource during the resolution.
        Specified by:
        getReason in interface Resolver
        Returns:
        an array of Reason
      • getUnsatisfiedRequirements

        public Reason[] getUnsatisfiedRequirements()
        Description copied from interface: Resolver
        List of requirements that could not be satisfied during the resolution
        Specified by:
        getUnsatisfiedRequirements in interface Resolver
        Returns:
      • getLocalResources

        protected LocalResource[] getLocalResources()
      • resolve

        public boolean resolve()
        Description copied from interface: Resolver
        Start the resolution process and return whether the constraints have been successfully met or not. The resolution can be interrupted by a call to Thread.interrupt() at any time. The result will be to stop the resolver and throw an InterruptedException.
        Specified by:
        resolve in interface Resolver
        Returns:
        true if the resolution has succeeded else false
      • resolve

        public boolean resolve​(int flags)
        Description copied from interface: Resolver
        Start the resolution process with the following flags.
        Specified by:
        resolve in interface Resolver
        Parameters:
        flags - resolution flags
        Returns:
        true if the resolution has succeeded else false
      • deploy

        public void deploy​(int flags)
        Specified by:
        deploy in interface Resolver
      • getBundleName

        public static java.lang.String getBundleName​(org.osgi.framework.Bundle bundle)