| Modifier and Type | Field and Description |
|---|---|
private java.util.Set<Requirement> |
m_addedRequirementSet |
private java.util.Set<Resource> |
m_addedSet |
private org.osgi.framework.BundleContext |
m_context |
private java.util.Set<Resource> |
m_failedSet |
private java.util.Set<Capability> |
m_globalCapabilities |
private org.apache.felix.utils.log.Logger |
m_logger |
private java.util.Set<Resource> |
m_optionalSet |
private java.util.Map<Resource,java.util.List<Reason>> |
m_reasonMap |
private Repository[] |
m_repositories |
private java.util.Set<Resource> |
m_requiredSet |
private int |
m_resolutionFlags |
private boolean |
m_resolved |
private java.util.Set<Resource> |
m_resolveSet |
private long |
m_resolveTimeStamp |
private java.util.Set<Reason> |
m_unsatisfiedSet |
DO_NOT_PREFER_LOCAL, NO_LOCAL_RESOURCES, NO_OPTIONAL_RESOURCES, NO_SYSTEM_BUNDLE, START| Constructor and Description |
|---|
ResolverImpl(org.osgi.framework.BundleContext context,
Repository[] repositories,
org.apache.felix.utils.log.Logger logger) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(Requirement requirement)
Add the following requirement to the resolution
The current resolution will be lost after adding a requirement.
|
void |
add(Resource resource)
Add the following resource to the resolution.
|
void |
addGlobalCapability(Capability capability)
Add a global capability.
|
private void |
checkInterrupt() |
void |
deploy(int flags) |
private LocalResource[] |
findLocalResources(java.lang.String symName)
Returns all local resources with the given symbolic name.
|
private LocalResource |
findUpdatableLocalResource(Resource resource) |
Requirement[] |
getAddedRequirements()
Returns the list of requirements that have been added to the resolution
|
Resource[] |
getAddedResources()
Returns the list of resources that have been added to the resolution
|
private ResourceCapability |
getBestCandidate(java.util.List<ResourceCapability> caps)
Determines which resource is preferred to deliver the required capability.
|
static java.lang.String |
getBundleName(org.osgi.framework.Bundle bundle) |
Capability[] |
getGlobalCapabilities()
Returns the list of global capabilities
|
protected LocalResource[] |
getLocalResources() |
Resource[] |
getOptionalResources()
List of optional resources that may be installed
|
Reason[] |
getReason(Resource resource)
List of reasons why a resource has been included either as a mandatory or
optional resource during the resolution.
|
private Resource[] |
getRemoteResources() |
Resource[] |
getRequiredResources()
List of mandatory resources that need to be installed
|
private Requirement[] |
getResolvableRequirements(Resource resource,
Resource[] resources) |
private Resource[] |
getResources() |
Reason[] |
getUnsatisfiedRequirements()
List of requirements that could not be satisfied during the resolution
|
private boolean |
isFragmentBundle(org.osgi.framework.Bundle bundle)
Determines if the given bundle is a fragement bundle.
|
private boolean |
isResourceUpdatable(Resource oldVersion,
Resource newVersion,
Resource[] resources) |
boolean |
resolve()
Start the resolution process and return whether the constraints have
been successfully met or not.
|
boolean |
resolve(int flags)
Start the resolution process with the following flags.
|
private boolean |
resolve(Resource resource,
Resource[] locals,
Resource[] remotes,
boolean optional) |
private java.util.List<ResourceCapability> |
searchResources(Requirement req,
Resource[] resources)
Searches for resources that do meet the given requirement
|
private Resource |
searchResources(Requirement req,
java.util.Set<Resource> resourceSet) |
private final org.osgi.framework.BundleContext m_context
private final org.apache.felix.utils.log.Logger m_logger
private final Repository[] m_repositories
private final java.util.Set<Resource> m_addedSet
private final java.util.Set<Requirement> m_addedRequirementSet
private final java.util.Set<Capability> m_globalCapabilities
private final java.util.Set<Resource> m_failedSet
private final java.util.Set<Resource> m_resolveSet
private final java.util.Set<Resource> m_requiredSet
private final java.util.Set<Resource> m_optionalSet
private final java.util.Set<Reason> m_unsatisfiedSet
private boolean m_resolved
private long m_resolveTimeStamp
private int m_resolutionFlags
public ResolverImpl(org.osgi.framework.BundleContext context,
Repository[] repositories,
org.apache.felix.utils.log.Logger logger)
public void add(Resource resource)
Resolverpublic Resource[] getAddedResources()
ResolvergetAddedResources in interface Resolverpublic void add(Requirement requirement)
Resolverpublic Requirement[] getAddedRequirements()
ResolvergetAddedRequirements in interface Resolverpublic void addGlobalCapability(Capability capability)
ResolveraddGlobalCapability in interface Resolvercapability - the new global capabilitypublic Capability[] getGlobalCapabilities()
ResolvergetGlobalCapabilities in interface Resolverpublic Resource[] getRequiredResources()
ResolvergetRequiredResources in interface Resolverpublic Resource[] getOptionalResources()
ResolvergetOptionalResources in interface Resolverpublic Reason[] getReason(Resource resource)
Resolverpublic Reason[] getUnsatisfiedRequirements()
ResolvergetUnsatisfiedRequirements in interface Resolverprotected LocalResource[] getLocalResources()
private Resource[] getRemoteResources()
private Resource[] getResources()
public boolean resolve()
Resolverpublic boolean resolve(int flags)
Resolverprivate boolean resolve(Resource resource, Resource[] locals, Resource[] remotes, boolean optional)
private Resource searchResources(Requirement req, java.util.Set<Resource> resourceSet)
private java.util.List<ResourceCapability> searchResources(Requirement req, Resource[] resources)
req - the the requirement that must be satisfied by resourcesresources - list of resources to look atprivate ResourceCapability getBestCandidate(java.util.List<ResourceCapability> caps)
caps - private void checkInterrupt()
private boolean isFragmentBundle(org.osgi.framework.Bundle bundle)
bundle - bundle to checkprivate LocalResource findUpdatableLocalResource(Resource resource)
private LocalResource[] findLocalResources(java.lang.String symName)
symName - The symbolic name of the wanted local resources.private boolean isResourceUpdatable(Resource oldVersion, Resource newVersion, Resource[] resources)
private Requirement[] getResolvableRequirements(Resource resource, Resource[] resources)
public static java.lang.String getBundleName(org.osgi.framework.Bundle bundle)