Package org.apache.felix.framework
Class BundleRevisionImpl
- java.lang.Object
-
- org.apache.felix.framework.BundleRevisionImpl
-
- All Implemented Interfaces:
BundleReference
,BundleRevision
,Resource
- Direct Known Subclasses:
ExtensionManager.ExtensionManagerRevision
public class BundleRevisionImpl extends java.lang.Object implements BundleRevision, Resource
-
-
Field Summary
Fields Modifier and Type Field Description static int
EAGER_ACTIVATION
static int
LAZY_ACTIVATION
private java.util.List<java.lang.String>
m_activationExcludes
private java.util.List<java.lang.String>
m_activationIncludes
private Bundle
m_bundle
private Content
m_content
private java.util.List<Content>
m_contentPath
private int
m_declaredActivationPolicy
private java.util.List<BundleCapability>
m_declaredCaps
private java.util.List<NativeLibrary>
m_declaredNativeLibs
private java.util.List<BundleRequirement>
m_declaredReqs
private java.util.Map
m_headerMap
private java.lang.String
m_id
private boolean
m_isExtension
private boolean
m_isFragment
private java.lang.String
m_manifestVersion
private java.security.ProtectionDomain
m_protectionDomain
private static SecureAction
m_secureAction
private java.lang.String
m_symbolicName
private Version
m_version
private BundleWiringImpl
m_wiring
-
Fields inherited from interface org.osgi.framework.wiring.BundleRevision
BUNDLE_NAMESPACE, HOST_NAMESPACE, PACKAGE_NAMESPACE, TYPE_FRAGMENT
-
-
Constructor Summary
Constructors Constructor Description BundleRevisionImpl(Bundle bundle, java.lang.String id)
This constructor is used by the extension manager, since it needs a constructor that does not throw an exception.BundleRevisionImpl(Bundle bundle, java.lang.String id, java.util.Map headerMap, Content content)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static java.util.List<Capability>
asCapabilityList(java.util.List reqs)
(package private) static java.util.List<Requirement>
asRequirementList(java.util.List reqs)
private java.util.List
calculateContentPath(BundleRevision revision, Content content, java.util.List<Content> contentList, boolean searchFragments)
(package private) void
close()
private java.net.URL
createURL(int port, java.lang.String path)
Bundle
getBundle()
Returns theBundle
object associated with thisBundleReference
.java.util.List<Capability>
getCapabilities(java.lang.String namespace)
Returns the capabilities declared by this resource.Content
getContent()
(package private) java.util.List<Content>
getContentPath()
(package private) int
getDeclaredActivationPolicy()
java.util.List<BundleCapability>
getDeclaredCapabilities(java.lang.String namespace)
Returns the capabilities declared by this bundle revision.java.util.List<NativeLibrary>
getDeclaredNativeLibraries()
java.util.List<BundleRequirement>
getDeclaredRequirements(java.lang.String namespace)
Returns the requirements declared by this bundle revision.java.net.URL
getEntry(java.lang.String name)
java.util.Map
getHeaders()
java.lang.String
getId()
java.io.InputStream
getInputStream(int index, java.lang.String urlPath)
java.net.URL
getLocalURL(int index, java.lang.String urlPath)
java.lang.String
getManifestVersion()
java.security.ProtectionDomain
getProtectionDomain()
java.util.List<Requirement>
getRequirements(java.lang.String namespace)
Returns the requirements declared by this bundle resource.(package private) java.net.URL
getResourceLocal(java.lang.String name)
(package private) java.util.Enumeration
getResourcesLocal(java.lang.String name)
(package private) static SecureAction
getSecureAction()
java.lang.String
getSymbolicName()
Returns the symbolic name for this bundle revision.int
getTypes()
Returns the special types of this bundle revision.Version
getVersion()
Returns the version for this bundle revision.BundleWiring
getWiring()
Returns the bundle wiring which is using this bundle revision.boolean
hasInputStream(int index, java.lang.String urlPath)
private java.util.List<Content>
initializeContentPath()
(package private) boolean
isActivationTrigger(java.lang.String pkgName)
boolean
isExtension()
(package private) void
resetContent(Content content)
void
resolve(BundleWiringImpl wiring)
void
setProtectionDomain(java.security.ProtectionDomain pd)
java.lang.String
toString()
-
-
-
Field Detail
-
EAGER_ACTIVATION
public static final int EAGER_ACTIVATION
- See Also:
- Constant Field Values
-
LAZY_ACTIVATION
public static final int LAZY_ACTIVATION
- See Also:
- Constant Field Values
-
m_id
private final java.lang.String m_id
-
m_headerMap
private final java.util.Map m_headerMap
-
m_manifestVersion
private final java.lang.String m_manifestVersion
-
m_isExtension
private final boolean m_isExtension
-
m_isFragment
private final boolean m_isFragment
-
m_symbolicName
private final java.lang.String m_symbolicName
-
m_version
private final Version m_version
-
m_declaredCaps
private final java.util.List<BundleCapability> m_declaredCaps
-
m_declaredReqs
private final java.util.List<BundleRequirement> m_declaredReqs
-
m_declaredNativeLibs
private final java.util.List<NativeLibrary> m_declaredNativeLibs
-
m_declaredActivationPolicy
private final int m_declaredActivationPolicy
-
m_activationIncludes
private final java.util.List<java.lang.String> m_activationIncludes
-
m_activationExcludes
private final java.util.List<java.lang.String> m_activationExcludes
-
m_bundle
private final Bundle m_bundle
-
m_content
private Content m_content
-
m_contentPath
private java.util.List<Content> m_contentPath
-
m_protectionDomain
private java.security.ProtectionDomain m_protectionDomain
-
m_secureAction
private static final SecureAction m_secureAction
-
m_wiring
private volatile BundleWiringImpl m_wiring
-
-
Constructor Detail
-
BundleRevisionImpl
public BundleRevisionImpl(Bundle bundle, java.lang.String id)
This constructor is used by the extension manager, since it needs a constructor that does not throw an exception.- Parameters:
logger
-bundle
-id
-bootPkgs
-bootPkgWildcards
-- Throws:
BundleException
-
BundleRevisionImpl
BundleRevisionImpl(Bundle bundle, java.lang.String id, java.util.Map headerMap, Content content) throws BundleException
- Throws:
BundleException
-
-
Method Detail
-
getSecureAction
static SecureAction getSecureAction()
-
getDeclaredActivationPolicy
int getDeclaredActivationPolicy()
-
isActivationTrigger
boolean isActivationTrigger(java.lang.String pkgName)
-
getSymbolicName
public java.lang.String getSymbolicName()
Description copied from interface:BundleRevision
Returns the symbolic name for this bundle revision.- Specified by:
getSymbolicName
in interfaceBundleRevision
- Returns:
- The symbolic name for this bundle revision.
- See Also:
Bundle.getSymbolicName()
-
getVersion
public Version getVersion()
Description copied from interface:BundleRevision
Returns the version for this bundle revision.- Specified by:
getVersion
in interfaceBundleRevision
- Returns:
- The version for this bundle revision, or
Version.emptyVersion
if this bundle revision has no version information. - See Also:
Bundle.getVersion()
-
getCapabilities
public java.util.List<Capability> getCapabilities(java.lang.String namespace)
Description copied from interface:BundleRevision
Returns the capabilities declared by this resource.This method returns the same value as
BundleRevision.getDeclaredCapabilities(String)
.- Specified by:
getCapabilities
in interfaceBundleRevision
- Specified by:
getCapabilities
in interfaceResource
- Parameters:
namespace
- The namespace of the declared capabilities to return ornull
to return the declared capabilities from all namespaces.- Returns:
- An unmodifiable list containing the declared
Capability
s from the specified namespace. The returned list will be empty if this resource declares no capabilities in the specified namespace.
-
asCapabilityList
static java.util.List<Capability> asCapabilityList(java.util.List reqs)
-
getDeclaredCapabilities
public java.util.List<BundleCapability> getDeclaredCapabilities(java.lang.String namespace)
Description copied from interface:BundleRevision
Returns the capabilities declared by this bundle revision.- Specified by:
getDeclaredCapabilities
in interfaceBundleRevision
- Parameters:
namespace
- The namespace of the declared capabilities to return ornull
to return the declared capabilities from all namespaces.- Returns:
- An unmodifiable list containing the declared
BundleCapability
s from the specified namespace. The returned list will be empty if this bundle revision declares no capabilities in the specified namespace. The list contains the declared capabilities in the order they are specified in the manifest.
-
getRequirements
public java.util.List<Requirement> getRequirements(java.lang.String namespace)
Description copied from interface:BundleRevision
Returns the requirements declared by this bundle resource.This method returns the same value as
BundleRevision.getDeclaredRequirements(String)
.- Specified by:
getRequirements
in interfaceBundleRevision
- Specified by:
getRequirements
in interfaceResource
- Parameters:
namespace
- The namespace of the declared requirements to return ornull
to return the declared requirements from all namespaces.- Returns:
- An unmodifiable list containing the declared
Requirement
s from the specified namespace. The returned list will be empty if this resource declares no requirements in the specified namespace.
-
asRequirementList
static java.util.List<Requirement> asRequirementList(java.util.List reqs)
-
getDeclaredRequirements
public java.util.List<BundleRequirement> getDeclaredRequirements(java.lang.String namespace)
Description copied from interface:BundleRevision
Returns the requirements declared by this bundle revision.- Specified by:
getDeclaredRequirements
in interfaceBundleRevision
- Parameters:
namespace
- The namespace of the declared requirements to return ornull
to return the declared requirements from all namespaces.- Returns:
- An unmodifiable list containing the declared
BundleRequirement
s from the specified namespace. The returned list will be empty if this bundle revision declares no requirements in the specified namespace. The list contains the declared requirements in the order they are specified in the manifest.
-
getTypes
public int getTypes()
Description copied from interface:BundleRevision
Returns the special types of this bundle revision. The bundle revision type values are: A bundle revision may be more than one type at a time. A type code is used to identify the bundle revision type for future extendability.If this bundle revision is not one or more of the defined types then 0 is returned.
- Specified by:
getTypes
in interfaceBundleRevision
- Returns:
- The special types of this bundle revision. The type values are ORed together.
-
getWiring
public BundleWiring getWiring()
Description copied from interface:BundleRevision
Returns the bundle wiring which is using this bundle revision.- Specified by:
getWiring
in interfaceBundleRevision
- Returns:
- The bundle wiring which is using this bundle revision or
null
if no bundle wiring is using this bundle revision. - See Also:
BundleWiring.getRevision()
-
getBundle
public Bundle getBundle()
Description copied from interface:BundleReference
Returns theBundle
object associated with thisBundleReference
.- Specified by:
getBundle
in interfaceBundleReference
- Returns:
- The
Bundle
object associated with thisBundleReference
.
-
getHeaders
public java.util.Map getHeaders()
-
isExtension
public boolean isExtension()
-
getManifestVersion
public java.lang.String getManifestVersion()
-
getDeclaredNativeLibraries
public java.util.List<NativeLibrary> getDeclaredNativeLibraries()
-
getId
public java.lang.String getId()
-
resolve
public void resolve(BundleWiringImpl wiring)
-
setProtectionDomain
public void setProtectionDomain(java.security.ProtectionDomain pd)
-
getProtectionDomain
public java.security.ProtectionDomain getProtectionDomain()
-
getContent
public Content getContent()
-
resetContent
void resetContent(Content content)
-
getContentPath
java.util.List<Content> getContentPath()
-
initializeContentPath
private java.util.List<Content> initializeContentPath() throws java.lang.Exception
- Throws:
java.lang.Exception
-
calculateContentPath
private java.util.List calculateContentPath(BundleRevision revision, Content content, java.util.List<Content> contentList, boolean searchFragments) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getResourceLocal
java.net.URL getResourceLocal(java.lang.String name)
-
getResourcesLocal
java.util.Enumeration getResourcesLocal(java.lang.String name)
-
getEntry
public java.net.URL getEntry(java.lang.String name)
-
hasInputStream
public boolean hasInputStream(int index, java.lang.String urlPath)
-
getInputStream
public java.io.InputStream getInputStream(int index, java.lang.String urlPath) throws java.io.IOException
- Throws:
java.io.IOException
-
getLocalURL
public java.net.URL getLocalURL(int index, java.lang.String urlPath)
-
createURL
private java.net.URL createURL(int port, java.lang.String path)
-
close
void close()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-