Class ResolverImpl
java.lang.Object
org.apache.felix.framework.resolver.ResolverImpl
- All Implemented Interfaces:
Resolver
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<Candidates> private final Logger
private Map
<BundleCapability, List<BundleCapability>> private final List
<Candidates> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
calculateExportedPackages
(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private void
calculatePackageSpaces
(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleCapability, List<BundleRevision>> usesCycleMap, Set<BundleRevision> cycle) private void
checkPackageSpaceConsistency
(ResolveContext rc, boolean isDynamicImporting, BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, Object> resultCache) private static void
dumpRevisionPkgMap
(Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private static void
dumpRevisionPkgs
(BundleRevision revision, ResolverImpl.Packages packages) private static BundleCapability
private static BundleRequirement
private static BundleRevision
private static Candidates
getDynamicImportCandidates
(ResolveContext rc, BundleRevision revision, String pkgName) private List
<BundleCapability> getPackageSources
(BundleCapability cap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private static List
<BundleCapability> getPackageSourcesInternal
(BundleCapability cap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, List<BundleCapability> sources, Set<BundleCapability> cycleMap) private static BundleCapability
getSatisfyingCapability
(ResolveContext rc, Candidates allCandidates, BundleRequirement req) private boolean
isCompatible
(BundleCapability currentCap, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private void
mergeCandidatePackage
(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private void
mergeCandidatePackages
(BundleRevision current, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleRevision, List<BundleCapability>> cycles) private void
mergeUses
(BundleRevision current, ResolverImpl.Packages currentPkgs, BundleCapability mergeCap, List<BundleRequirement> blameReqs, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleCapability, List<BundleRevision>> cycleMap) private static void
permutate
(Candidates allCandidates, BundleRequirement req, List<Candidates> permutations) private static void
permutateIfNeeded
(Candidates allCandidates, BundleRequirement req, List<Candidates> permutations) private static Map
<BundleRevision, List<ResolverWire>> populateDynamicWireMap
(BundleRevision revision, String pkgName, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, List<ResolverWire>> wireMap, Candidates allCandidates) private static Map
<BundleRevision, List<ResolverWire>> populateWireMap
(BundleRevision revision, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, List<ResolverWire>> wireMap, Candidates allCandidates) resolve
(ResolveContext rc, BundleRevision revision, String pkgName) private static String
toStringBlame
(ResolveContext rc, Candidates allCandidates, ResolverImpl.Blame blame)
-
Field Details
-
m_logger
-
m_usesPermutations
-
m_importPermutations
-
m_packageSourcesCache
-
-
Constructor Details
-
ResolverImpl
-
-
Method Details
-
resolve
-
resolve
public Map<BundleRevision,List<ResolverWire>> resolve(ResolveContext rc, BundleRevision revision, String pkgName) -
getDynamicImportCandidates
private static Candidates getDynamicImportCandidates(ResolveContext rc, BundleRevision revision, String pkgName) -
calculatePackageSpaces
private void calculatePackageSpaces(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleCapability, List<BundleRevision>> usesCycleMap, Set<BundleRevision> cycle) -
mergeCandidatePackages
private void mergeCandidatePackages(BundleRevision current, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleRevision, List<BundleCapability>> cycles) -
mergeCandidatePackage
private void mergeCandidatePackage(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) -
mergeUses
private void mergeUses(BundleRevision current, ResolverImpl.Packages currentPkgs, BundleCapability mergeCap, List<BundleRequirement> blameReqs, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleCapability, List<BundleRevision>> cycleMap) -
checkPackageSpaceConsistency
private void checkPackageSpaceConsistency(ResolveContext rc, boolean isDynamicImporting, BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, Object> resultCache) -
permutate
private static void permutate(Candidates allCandidates, BundleRequirement req, List<Candidates> permutations) -
permutateIfNeeded
private static void permutateIfNeeded(Candidates allCandidates, BundleRequirement req, List<Candidates> permutations) -
calculateExportedPackages
private static void calculateExportedPackages(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) -
isCompatible
private boolean isCompatible(BundleCapability currentCap, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) -
getPackageSources
private List<BundleCapability> getPackageSources(BundleCapability cap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) -
getPackageSourcesInternal
private static List<BundleCapability> getPackageSourcesInternal(BundleCapability cap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, List<BundleCapability> sources, Set<BundleCapability> cycleMap) -
getDeclaringBundleRevision
-
getDeclaredCapability
-
getDeclaredRequirement
-
populateWireMap
private static Map<BundleRevision,List<ResolverWire>> populateWireMap(BundleRevision revision, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, List<ResolverWire>> wireMap, Candidates allCandidates) -
populateDynamicWireMap
private static Map<BundleRevision,List<ResolverWire>> populateDynamicWireMap(BundleRevision revision, String pkgName, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, List<ResolverWire>> wireMap, Candidates allCandidates) -
dumpRevisionPkgMap
-
dumpRevisionPkgs
-
toStringBlame
private static String toStringBlame(ResolveContext rc, Candidates allCandidates, ResolverImpl.Blame blame) -
getSatisfyingCapability
private static BundleCapability getSatisfyingCapability(ResolveContext rc, Candidates allCandidates, BundleRequirement req)
-