Package org.apache.felix.framework
Class StatefulResolver
java.lang.Object
org.apache.felix.framework.StatefulResolver
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<String, CapabilitySet> private final Executorprivate final Felixprivate final Set<BundleRevision> private booleanprivate final Loggerprivate final ServiceRegistryprivate final org.apache.felix.resolver.ResolverImplprivate final Set<BundleRevision> private final Set<BundleRevision> private ServiceRegistration<?> private final Map<String, List<BundleRevision>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidprivate static voidaddToSingletonMap(Map<String, List<BundleRevision>> singletons, BundleRevision br) calculateExportedAndReexportedPackages(BundleRevision br, Map<Resource, List<Wire>> wireMap, Set<String> pkgs, Set<BundleRevision> cycles) private voidprivate BundleRequirementImplfindDynamicRequirement(List<BundleRequirement> dynamics, List<BundleCapability> candidates) (package private) List<BundleCapability> findProviders(BundleRequirement req, boolean obeyMandatory) (package private) List<BundleCapability> findProvidersInternal(StatefulResolver.ResolverHookRecord record, Requirement req, boolean obeyMandatory, boolean invokeHooksAndSecurity) private voidfireResolvedEvents(Map<Resource, List<Wire>> wireMap) private Executorprivate Set<BundleRevision> private Set<BundleRevision> private List<BundleRevision> groupSingletons(Map<BundleCapability, Collection<BundleCapability>> allCollisions, BundleCapability target, List<BundleRevision> group) private void(package private) booleanisAllowedDynamicImport(BundleRevision revision, String pkgName) (package private) booleanisEffective(Requirement req) private booleanprivate voidmarkBundleResolved(BundleRevision revision) private voidmarkResolvedRevisions(Map<Resource, List<Wire>> wireMap) prepareResolverHooks(Set<BundleRevision> mandatory, Set<BundleRevision> optional) private void(package private) void(package private) voidresolve(Set<BundleRevision> mandatory, Set<BundleRevision> optional) (package private) BundleRevisionresolve(BundleRevision revision, String pkgName) private voidprivate voidselectSingleton(StatefulResolver.ResolverHookRecord record, List<BundleRevision> singletons) private voidprivate void(package private) voidstart()(package private) voidstop()
-
Field Details
-
m_logger
-
m_felix
-
m_registry
-
m_executor
-
m_resolver
private final org.apache.felix.resolver.ResolverImpl m_resolver -
m_isResolving
private boolean m_isResolving -
m_revisions
-
m_fragments
-
m_capSets
-
m_singletons
-
m_selectedSingletons
-
m_serviceRegistration
-
-
Constructor Details
-
StatefulResolver
StatefulResolver(Felix felix, ServiceRegistry registry)
-
-
Method Details
-
getExecutor
-
start
void start() -
stop
void stop() -
addRevision
-
removeRevision
-
isEffective
-
findProviders
-
findProvidersInternal
List<BundleCapability> findProvidersInternal(StatefulResolver.ResolverHookRecord record, Requirement req, boolean obeyMandatory, boolean invokeHooksAndSecurity) -
resolve
void resolve(Set<BundleRevision> mandatory, Set<BundleRevision> optional) throws org.osgi.service.resolver.ResolutionException, BundleException - Throws:
org.osgi.service.resolver.ResolutionExceptionBundleException
-
resolve
BundleRevision resolve(BundleRevision revision, String pkgName) throws org.osgi.service.resolver.ResolutionException, BundleException - Throws:
org.osgi.service.resolver.ResolutionExceptionBundleException
-
findDynamicRequirement
private BundleRequirementImpl findDynamicRequirement(List<BundleRequirement> dynamics, List<BundleCapability> candidates) -
prepareResolverHooks
private StatefulResolver.ResolverHookRecord prepareResolverHooks(Set<BundleRevision> mandatory, Set<BundleRevision> optional) throws BundleException, org.osgi.service.resolver.ResolutionException - Throws:
BundleExceptionorg.osgi.service.resolver.ResolutionException
-
releaseResolverHooks
private void releaseResolverHooks(StatefulResolver.ResolverHookRecord record) throws BundleException - Throws:
BundleException
-
isAllowedDynamicImport
-
markResolvedRevisions
- Throws:
ResolveException
-
markBundleResolved
-
fireResolvedEvents
-
calculateExportedAndReexportedPackages
-
indexCapabilities
-
deindexCapabilities
-
isSelectedSingleton
-
selectSingletons
- Throws:
BundleException
-
selectDefaultSingletons
-
selectSingletonsUsingHooks
private void selectSingletonsUsingHooks(StatefulResolver.ResolverHookRecord record) throws BundleException - Throws:
BundleException
-
groupSingletons
private List<BundleRevision> groupSingletons(Map<BundleCapability, Collection<BundleCapability>> allCollisions, BundleCapability target, List<BundleRevision> group) -
selectSingleton
private void selectSingleton(StatefulResolver.ResolverHookRecord record, List<BundleRevision> singletons) -
getFragments
-
getUnresolvedRevisions
-
getWirings
-
addToSingletonMap
private static void addToSingletonMap(Map<String, List<BundleRevision>> singletons, BundleRevision br)
-