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 Felix
private final Set
<BundleRevision> private final String
private boolean
private final Logger
private final Resolver
private final Set
<BundleRevision> private final Set
<BundleRevision> private final Map
<String, List<BundleRevision>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
private static void
addToSingletonMap
(Map<String, List<BundleRevision>> singletons, BundleRevision br) calculateExportedAndReexportedPackages
(BundleRevision br, Map<BundleRevision, List<ResolverWire>> wireMap, Set<String> pkgs, Set<BundleRevision> cycles) (package private) void
checkNativeLibraries
(BundleRevision revision) private void
private boolean
(package private) List
<BundleCapability> findProviders
(BundleRequirement req, boolean obeyMandatory) (package private) List
<BundleCapability> findProvidersInternal
(StatefulResolver.ResolverHookRecord record, Requirement req, boolean obeyMandatory, boolean invokeHooksAndSecurity) private void
fireResolvedEvents
(Map<BundleRevision, List<ResolverWire>> wireMap) private Set
<BundleRevision> private Set
<BundleRevision> private Map
<BundleRevision, BundleWiring> private List
<BundleRevision> groupSingletons
(Map<BundleCapability, Collection<BundleCapability>> allCollisions, BundleCapability target, List<BundleRevision> group) private void
(package private) boolean
isAllowedDynamicImport
(BundleRevision revision, String pkgName) (package private) boolean
private boolean
private void
markBundleResolved
(BundleRevision revision) private void
markResolvedRevisions
(Map<BundleRevision, List<ResolverWire>> wireMap) parseExecutionEnvironments
(String fwkExecEnvStr) Updates the framework wide execution environment string and a cached Set of execution environment tokens from the comma delimited list specified by the system variable 'org.osgi.framework.executionenvironment'.prepareResolverHooks
(Set<BundleRevision> mandatory, Set<BundleRevision> optional) private void
(package private) void
(package private) void
resolve
(Set<BundleRevision> mandatory, Set<BundleRevision> optional) (package private) BundleRevision
resolve
(BundleRevision revision, String pkgName) private void
private void
selectSingleton
(StatefulResolver.ResolverHookRecord record, List<BundleRevision> singletons) private void
private void
-
Field Details
-
m_logger
-
m_felix
-
m_resolver
-
m_isResolving
private boolean m_isResolving -
m_revisions
-
m_fragments
-
m_capSets
-
m_singletons
-
m_selectedSingletons
-
m_fwkExecEnvStr
-
m_fwkExecEnvSet
-
-
Constructor Details
-
StatefulResolver
StatefulResolver(Felix felix)
-
-
Method Details
-
addRevision
-
removeRevision
-
isEffective
-
findProviders
-
findProvidersInternal
List<BundleCapability> findProvidersInternal(StatefulResolver.ResolverHookRecord record, Requirement req, boolean obeyMandatory, boolean invokeHooksAndSecurity) -
filteredBySecurity
-
resolve
void resolve(Set<BundleRevision> mandatory, Set<BundleRevision> optional) throws ResolveException, BundleException - Throws:
ResolveException
BundleException
-
resolve
BundleRevision resolve(BundleRevision revision, String pkgName) throws ResolveException, BundleException - Throws:
ResolveException
BundleException
-
prepareResolverHooks
private StatefulResolver.ResolverHookRecord prepareResolverHooks(Set<BundleRevision> mandatory, Set<BundleRevision> optional) throws BundleException - Throws:
BundleException
-
releaseResolverHooks
private void releaseResolverHooks(StatefulResolver.ResolverHookRecord record) throws BundleException - Throws:
BundleException
-
isAllowedDynamicImport
-
markResolvedRevisions
private void markResolvedRevisions(Map<BundleRevision, List<ResolverWire>> wireMap) throws ResolveException- Throws:
ResolveException
-
markBundleResolved
-
fireResolvedEvents
-
calculateExportedAndReexportedPackages
private static Set<String> calculateExportedAndReexportedPackages(BundleRevision br, Map<BundleRevision, List<ResolverWire>> wireMap, Set<String> pkgs, Set<BundleRevision> cycles) -
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
-
checkNativeLibraries
- Throws:
ResolveException
-
getUnresolvedRevisions
-
getWirings
-
parseExecutionEnvironments
Updates the framework wide execution environment string and a cached Set of execution environment tokens from the comma delimited list specified by the system variable 'org.osgi.framework.executionenvironment'.- Parameters:
fwkExecEnvStr
- Comma delimited string of provided execution environments- Returns:
- the parsed set of execution environments
-
addToSingletonMap
private static void addToSingletonMap(Map<String, List<BundleRevision>> singletons, BundleRevision br)
-