This interface is used with the dependency resolution algorithm used in DependencyUtils.satisfyDependencyRequirements. The methods in this interface is called to allow logging of various dependency resolution events in order for analysis purposes.
This interface may and is recommended to be subclassed.
public default void | dependencyFoundPinned( Notifies the logger that a dependency was satisfied using a previously pinned bundle. |
public default void | dependencyVersionRangeMismatch( Notifies the logger that the bundle dependency cannot be satisfied for the given bundle identifier because the
version is out of the allowed range. |
public default void | dependencyVersionRangeMismatchForPinnedBundle( Notifies the logger that a dependency cannot be satisfied because a pinned bundle is not allowed for the
specified range. |
public default void | enter( Called when the possible bundles for a given bundle identifier is being resolved. |
public default void | enterVersion( Called after enter( |
public default void | exit( Called when the bundles resolution for a given bundle identifier has ended. |
public default void | exitVersion( Called after a specific version of a bundle has been visited. |
When a bundle is resolved, it will be pinned for further resolution. This method is called when a bundle was previously pinned, and the given dependency was satisfied because this pinned bundle is already present. (Note that unpinning may also occurr in case of backtracking due to failures.)
This method is called when a previously resolved bundle is out of range for the given dependency, therefore it cannot be used for the given dependency due to version conflicts.
This method may be called multiple times for a given bundle identifier-bundle context pair. As the dependency resolution may backtrack in case of failed resolutions, entering a bundle multiple times is possible.
Each call to this function will be matched with a subsequenc
exit(
This method is called after entering a given bundle name. The bundle with a possible version is being resolved by the algorithm.
Each call to this function will be matched with a subsequenc exitVersion(
The success or failure of bundle resolution is based on the null
ness of the matched bundle
identifier argument.
null
if the resolution failed for the given
bundle identifier.It is not specified if the bundle with the given version was accepted or not for this function.