Modifier and Type | Field and Description |
---|---|
static boolean |
DEBUG |
static boolean |
DEBUG_CONFLICTS |
static boolean |
DEBUG_CYCLES |
static boolean |
DEBUG_GENERICS |
static boolean |
DEBUG_IMPORTS |
static boolean |
DEBUG_REQUIRES |
static boolean |
DEBUG_USES |
static boolean |
DEBUG_WIRING |
Constructor and Description |
---|
ResolverImpl(boolean checkPermissions) |
Modifier and Type | Method and Description |
---|---|
void |
bundleAdded(BundleDescription bundle)
Notifies the resolver a bundle has been added to the state.
|
void |
bundleRemoved(BundleDescription bundle,
boolean pending)
Notifies the resolver a bundle has been removed from the state.
|
void |
bundleUpdated(BundleDescription newDescription,
BundleDescription existingDescription,
boolean pending)
Notifies the resolver a bundle has been updated in the state.
|
void |
flush()
Flushes this resolver of any stored/cached data it may be keeping to
facilitate incremental processing on its associated state.
|
Comparator<BaseDescription> |
getSelectionPolicy()
Returns the selection policy for this resolver or null if it is not set
|
State |
getState()
Returns the state associated with this resolver.
|
void |
resolve(BundleDescription[] reRefresh,
Dictionary<Object,Object>[] platformProperties)
Resolves the state associated with this resolver and returns an array of
bundle deltas describing the changes..
|
ExportPackageDescription |
resolveDynamicImport(BundleDescription importingBundle,
String requestedPackage)
Attempts to find an ExportPackageDescription that will satisfy a dynamic import
for the specified requestedPackage for the specified importingBundle.
|
void |
setCompositeResolveHelperRegistry(CompositeResolveHelperRegistry compositeHelpers) |
void |
setSelectionPolicy(Comparator<BaseDescription> selectionPolicy)
Sets the selection policy for this resolver.
|
void |
setState(State newState)
Sets the state associated with this resolver.
|
public static boolean DEBUG
public static boolean DEBUG_WIRING
public static boolean DEBUG_IMPORTS
public static boolean DEBUG_REQUIRES
public static boolean DEBUG_GENERICS
public static boolean DEBUG_USES
public static boolean DEBUG_CONFLICTS
public static boolean DEBUG_CYCLES
public void resolve(BundleDescription[] reRefresh, Dictionary<Object,Object>[] platformProperties)
Resolver
This method is intended to be called only by State objects in response to a user invocation of State.resolve(). States will typically refuse to update their constituents (see State.resolveBundle() and State.resolveConstraint()) if their resolve method is not currently being invoked.
Note the given state is destructively modified to reflect the results of resolution.
resolve
in interface Resolver
reRefresh
- the list of bundles to discard the resolve status and
reresolve. A null value indicates that all currently unresolved
bundles in the state should be resolved.platformProperties
- the platform properties used to match platform filters
against. A null value indicates that the system properties should
be used to match againstpublic ExportPackageDescription resolveDynamicImport(BundleDescription importingBundle, String requestedPackage)
Resolver
null
is returned.resolveDynamicImport
in interface Resolver
importingBundle
- the BundleDescription that is requesting a dynamic packagerequestedPackage
- the name of the package that is being requestednull
is returned if none is available.public void bundleAdded(BundleDescription bundle)
Resolver
bundleAdded
in interface Resolver
public void bundleRemoved(BundleDescription bundle, boolean pending)
Resolver
bundleRemoved
in interface Resolver
bundle
- the bundle description to removepending
- indicates if the bundle to be remove has current dependents and
will pend complete removal until the bundle has been re-resolved.public void bundleUpdated(BundleDescription newDescription, BundleDescription existingDescription, boolean pending)
Resolver
bundleUpdated
in interface Resolver
newDescription
- the new descriptionexistingDescription
- the existing descriptionpending
- indicates if the bundle to be updated has current dependents and
will pend complete removal until the bundle has been re-resolved.public void flush()
Resolver
public State getState()
Resolver
public void setState(State newState)
Resolver
To ensure that this resolver and the given state are properly linked, the following expression must be included in this method if the given state (value) is not identical to the result of this.getState().
if (this.getState() != value) value.setResolver(this);
public void setSelectionPolicy(Comparator<BaseDescription> selectionPolicy)
Resolver
Comparator.compare(Object, Object)
method
will be of type BaseDescription
. The selection policy should return a
negative number, zero, or a positive number depending on if the first object is
more desired, equal amount of desire, or less desired than the second object respectively.
If no selection policy is set then a default policy will be used which sorts according to the following rules:
setSelectionPolicy
in interface Resolver
selectionPolicy
- the selection policy for this resolverpublic Comparator<BaseDescription> getSelectionPolicy()
Resolver
getSelectionPolicy
in interface Resolver
public void setCompositeResolveHelperRegistry(CompositeResolveHelperRegistry compositeHelpers)
Copyright © 2007–2018 The Apache Software Foundation. All rights reserved.