Class Subsystem
- java.lang.Object
-
- org.apache.felix.utils.resource.ResourceImpl
-
- org.apache.karaf.features.internal.region.Subsystem
-
- All Implemented Interfaces:
org.osgi.resource.Resource
public class Subsystem extends org.apache.felix.utils.resource.ResourceImpl
AResource
representing ...
-
-
Constructor Summary
Constructors Constructor Description Subsystem(String name)
Constructs root subsystemResource
forFeaturesService.ROOT_REGION
that imports/exports only caps/reqs with(type=karaf.subsystem)
.Subsystem(String name, Feature feature, Subsystem parent, boolean mandatory)
Constructs subsystem for a feature that either imports/exports all caps or (seeFeature.getScoping()
) has configurable import/export policy +(|(type=karaf.subsystem)(type=karaf.feature))
filter inIdentityNamespace.IDENTITY_NAMESPACE
.Subsystem(String name, Subsystem parent, boolean acceptDependencies, boolean mandatory)
Constructs child subsystemResource
forFeaturesService.ROOT_REGION
's child that imports all caps and exports only caps with(type=karaf.subsystem)
.
-
Method Summary
-
-
-
Constructor Detail
-
Subsystem
public Subsystem(String name)
Constructs root subsystemResource
forFeaturesService.ROOT_REGION
that imports/exports only caps/reqs with(type=karaf.subsystem)
. Root subsystem by default accepts dependencies - will gather dependant features of child feature subsystems, effectively _flattening_ the set of features within single region's subsystem.- Parameters:
name
- The name of the subsystem.
-
Subsystem
public Subsystem(String name, Feature feature, Subsystem parent, boolean mandatory)
Constructs subsystem for a feature that either imports/exports all caps or (seeFeature.getScoping()
) has configurable import/export policy +(|(type=karaf.subsystem)(type=karaf.feature))
filter inIdentityNamespace.IDENTITY_NAMESPACE
. Such subsystem requirestype=karaf.feature; osgi.identity=feature-name[; version=feature-version]
.- Parameters:
name
- The subsystem name.feature
- The feature.parent
- The parent subsystem.mandatory
- True if mandatory, false else.
-
Subsystem
public Subsystem(String name, Subsystem parent, boolean acceptDependencies, boolean mandatory)
Constructs child subsystemResource
forFeaturesService.ROOT_REGION
's child that imports all caps and exports only caps with(type=karaf.subsystem)
.- Parameters:
name
- The subsystem name.parent
- The parent subsystem.acceptDependencies
- True to accept dependencies, false else.mandatory
- True to mandatory, false else.
-
-
Method Detail
-
getInstallable
public List<org.osgi.resource.Resource> getInstallable()
-
getName
public String getName()
-
getParent
public Subsystem getParent()
-
getChildren
public Collection<Subsystem> getChildren()
-
isAcceptDependencies
public boolean isAcceptDependencies()
-
getFeature
public Feature getFeature()
-
createSubsystem
public Subsystem createSubsystem(String name, boolean acceptDependencies)
Create child subsystem for this subsystem. Child will become parent's mandatory requirement to force its resolution.- Parameters:
name
- The subsystem name.acceptDependencies
- True to accept dependencies, false else.
-
addSystemResource
public void addSystemResource(org.osgi.resource.Resource resource)
-
require
public void require(String requirement) throws org.osgi.framework.BundleException
- Throws:
org.osgi.framework.BundleException
-
addRequirement
protected void addRequirement(String requirement) throws org.osgi.framework.BundleException
- Throws:
org.osgi.framework.BundleException
-
getBundleInfos
public Map<String,BundleInfo> getBundleInfos()
-
downloadBundles
public void downloadBundles(DownloadManager manager, String featureResolutionRange, FeaturesService.ServiceRequirementsBehavior serviceRequirements, RepositoryManager repos, SubsystemResolverCallback callback) throws Exception
Downloads bundles for all the features in current and child subsystems. But also collects bundles asSubsystem.DependencyInfo
.- Parameters:
manager
- TheDownloadManager
to use.featureResolutionRange
- The feature resolution range to use.serviceRequirements
- TheFeaturesService.ServiceRequirementsBehavior
behavior to use.repos
- TheRepositoryManager
to use.callback
- TheSubsystemResolverCallback
to use.- Throws:
Exception
-
toString
public String toString()
- Overrides:
toString
in classorg.apache.felix.utils.resource.ResourceImpl
-
-