|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Resolver
An implementation of a resolver which resolves the constraints of the bundles in a system.
Clients may implement this interface.
Method Summary | |
---|---|
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. |
java.util.Comparator |
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[] discard,
java.util.Dictionary[] platformProperties)
Resolves the state associated with this resolver and returns an array of bundle deltas describing the changes.. |
ExportPackageDescription |
resolveDynamicImport(BundleDescription importingBundle,
java.lang.String requestedPackage)
Attempts to find an ExportPackageDescription that will satisfy a dynamic import for the specified requestedPackage for the specified importingBundle. |
void |
setSelectionPolicy(java.util.Comparator selectionPolicy)
Sets the selection policy for this resolver. |
void |
setState(State value)
Sets the state associated with this resolver. |
Method Detail |
---|
void resolve(BundleDescription[] discard, java.util.Dictionary[] platformProperties)
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.
discard
- 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 againstvoid flush()
State getState()
void setState(State value)
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);
void bundleAdded(BundleDescription bundle)
bundle
- void bundleRemoved(BundleDescription bundle, boolean pending)
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.void bundleUpdated(BundleDescription newDescription, BundleDescription existingDescription, boolean pending)
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.ExportPackageDescription resolveDynamicImport(BundleDescription importingBundle, java.lang.String requestedPackage)
null
is returned.
importingBundle
- the BundleDescription that is requesting a dynamic packagerequestedPackage
- the name of the package that is being requested
null
is returned if none is available.void setSelectionPolicy(java.util.Comparator selectionPolicy)
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:
selectionPolicy
- the selection policy for this resolverjava.util.Comparator getSelectionPolicy()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |