Class ResolverImpl
java.lang.Object
org.apache.felix.framework.resolver.ResolverImpl
- All Implemented Interfaces:
Resolver
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<Candidates> private final Loggerprivate Map<BundleCapability, List<BundleCapability>> private final List<Candidates> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidcalculateExportedPackages(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private voidcalculatePackageSpaces(BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleCapability, List<BundleRevision>> usesCycleMap, Set<BundleRevision> cycle) private voidcheckPackageSpaceConsistency(ResolveContext rc, boolean isDynamicImporting, BundleRevision revision, Candidates allCandidates, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Map<BundleRevision, Object> resultCache) private static voiddumpRevisionPkgMap(Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private static voiddumpRevisionPkgs(BundleRevision revision, ResolverImpl.Packages packages) private static BundleCapabilityprivate static BundleRequirementprivate static BundleRevisionprivate static CandidatesgetDynamicImportCandidates(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 BundleCapabilitygetSatisfyingCapability(ResolveContext rc, Candidates allCandidates, BundleRequirement req) private booleanisCompatible(BundleCapability currentCap, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private voidmergeCandidatePackage(BundleRevision current, boolean requires, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap) private voidmergeCandidatePackages(BundleRevision current, BundleRequirement currentReq, BundleCapability candCap, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleRevision, List<BundleCapability>> cycles) private voidmergeUses(BundleRevision current, ResolverImpl.Packages currentPkgs, BundleCapability mergeCap, List<BundleRequirement> blameReqs, Map<BundleRevision, ResolverImpl.Packages> revisionPkgMap, Candidates allCandidates, Map<BundleCapability, List<BundleRevision>> cycleMap) private static voidpermutate(Candidates allCandidates, BundleRequirement req, List<Candidates> permutations) private static voidpermutateIfNeeded(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 StringtoStringBlame(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)
-