| CARVIEW |
Select Language
HTTP/2 301
server: GitHub.com
content-type: text/html
location: https://osgi.github.io/osgi/core/
access-control-allow-origin: *
expires: Mon, 29 Dec 2025 12:00:17 GMT
cache-control: max-age=600
x-proxy-cache: MISS
x-github-request-id: F771:1F53DD:8BE96E:9D196D:69526AF9
accept-ranges: bytes
age: 0
date: Mon, 29 Dec 2025 11:50:17 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210053-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1767009018.585845,VS0,VE215
vary: Accept-Encoding
x-fastly-request-id: b16abb92e8ec96f9959dbf8b2a2062727049ca46
content-length: 162
HTTP/2 200
server: GitHub.com
content-type: text/html; charset=utf-8
last-modified: Tue, 16 Dec 2025 13:14:37 GMT
access-control-allow-origin: *
etag: W/"69415b3d-3be3b"
expires: Mon, 29 Dec 2025 12:00:17 GMT
cache-control: max-age=600
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: E537:2C10E1:8C7577:9DA691:69526AF9
accept-ranges: bytes
age: 0
date: Mon, 29 Dec 2025 11:50:18 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210053-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1767009018.830434,VS0,VE228
vary: Accept-Encoding
x-fastly-request-id: 42036da44ae872039be6e76cb999502f21778d75
content-length: 22090
OSGi Core 8
⋮
Table of Contents
- LICENSE
- Preface
- 1 Introduction
- 2 Security Layer
- 3 Module Layer
-
- 3.1 Introduction
- 3.2 Bundles
- 3.3 Dependencies
- 3.4 Execution Environment
- 3.5 Class Loading Architecture
- 3.6 Resolving Metadata
- 3.7 Constraint Solving
- 3.8 Resolving Process
- 3.9 Runtime Class Loading
- 3.10 Loading Native Code Libraries
- 3.11 Localization
- 3.12 Bundle Validity
- 3.13 Requiring Bundles
- 3.14 Fragment Bundles
- 3.15 Extension Bundles
- 3.16 Security
- 3.17 References
- 3.18 Changes
- 4 Life Cycle Layer
- 5 Service Layer
- 6 Resource API Specification
- 7 Bundle Wiring API Specification
- 8 Framework Namespaces Specification
- 9 Start Level API Specification
- 10 Framework API
- 50 Conditional Permission Admin Service Specification
-
- 50.1 Introduction
- 50.2 Permission Management Model
- 50.3 Effective Permissions
- 50.4 Conditional Permissions
- 50.5 Conditions
- 50.6 The Permission Check
- 50.7 Permission Management
- 50.8 File Permission for Relative Path Names
- 50.9 Implementing Conditions
- 50.10 Standard Conditions
- 50.11 Bundle Permission Resource
- 50.12 Relation to Permission Admin
- 50.13 Implementation Issues
- 50.14 Security
- 50.15 org.osgi.service.condpermadmin
- 51 Permission Admin Service Specification
- 52 URL Handlers Service Specification
- 53 Resolver Hook Service Specification
- 54 Bundle Hook Service Specification
- 55 Service Hook Service Specification
- 56 Weaving Hook Service Specification
- 57 Data Transfer Objects Specification
- 58 Resolver Service Specification
- 59 Condition Service Specification
- 60 Connect Specification
- 101 Log Service Specification
-
- 101.1 Introduction
- 101.2 The Logger Interface
- 101.3 Obtaining a Logger
- 101.4 Logger Configuration
- 101.5 Log Reader Service
- 101.6 Log Entry Interface
- 101.7 Mapping of Events
- 101.8 Log Service
- 101.9 Capabilities
- 101.10 Security
- 101.11 org.osgi.service.log
- 101.12 org.osgi.service.log.admin
- 101.13 References
- 701 Tracker Specification
List of Figures
- 1.1 Layering
- 1.2 Interactions between layers
- 1.3 Class and interface symbol
- 1.4 Service symbol
- 1.5 Alternative Service symbol
- 1.6 Inheritance (implements or extends) symbol
- 1.7 Relations symbol
- 1.8 Associations symbol
- 1.9 Bundles
- 2.1 Delegation model
- 2.2 Signer files in JAR
- 2.3 Signer files in JAR
- 2.4 Manifest, signature instruction files and digests in JAR
- 2.5 Structure of a certificate
- 2.6 Certificate authorities fan out
- 2.7 Country, Company, Person based namespace.
- 3.1 Primary Property Types
- 3.2 Core Requirement/Capability model
- 3.3 Requirements and Capabilities and their Wiring
- 3.4 Delegation model
- 3.5 Class Space
- 3.6 Example class structure of wiring
- 3.7 Legend of wiring instance diagrams, and example
- 3.8 Example bundle diagram
- 3.9 Version Constrained
- 3.10 Optional import
- 3.11 Uses directive in B, forces A to use javax.servlet from D
- 3.12 Implied Packages
- 3.13 Uses directive and resolving
- 3.14 Flow chart for class loading (non-normative)
- 3.15 Depth First search with Require Bundle
- 3.16 Cycles
- 3.17 Split packages and package constraints
- 3.18 Resource/class searching with fragments
- 3.19 Permissions and bundle sharing
- 4.1 Class diagram
org.osgi.frameworkLife Cycle Layer - 4.2 Action Diagram for Framework Launching
- 4.3 State diagram Framework
- 4.4 State diagram Bundle
- 4.5 Starting with eager activation versus lazy activation
- 4.6 Setup for showing the difference between getResource and getEntry
- 5.1 Class Diagram
org.osgi.frameworkService Layer - 5.2 Service Registration and registration
- 6.1 Class diagram for org.osgi.resource
- 6.2 Wire and declared Resources
- 6.3 Hosted Capability Example
- 7.1 Class Diagram org.osgi.framework.wiring (with relations to org.osgi.resource)
- 7.2 Requirements and Capabilities Diagramming
- 7.3 Example Import/Export Package with Requirements/Capabilities Model
- 7.4 Relationship between events, revisions, and wirings
- 7.5 The Bundle Revisions and Bundle Wirings over time
- 7.6 Bundle A requires Bundle B Wiring Instances
- 7.7 Fragments and Wiring
- 7.8 Exporting a Package from a Fragment
- 7.9 Fragments Wiring Instances
- 8.1 Example osgi.wiring.package Namespace
- 9.1 Class Diagram org.osgi.framework.startlevel package
- 9.2 Move to requested start level R, active level is A, B is a bundle's start level
- 50.1 org.osgi.service.condpermadmin package
- 50.2 Local permissions and Deployment
- 50.3 with signing
- 50.4 Delegation model
- 50.5 Typical Delegation model
- 50.6 System, Local and Security permissions
- 50.7 Instantiation of the policy table
- 50.8 in OSGi bundles
- 50.9 Structure of Postponed List PL
- 50.10 Evaluation of postponed policies
- 50.11 Evaluation of postponed policies
- 50.12 Structure of the Info objects.
- 51.1 org.osgi.service.permissionadmin package
- 52.1 Class Diagram, java.net (URL and associated classes)
- 52.2 Proxy Issues
- 53.1 Resolver Hooks Entities
- 54.1 Bundle Hooks, org.osgi.framework.hooks.bundle package
- 55.1 Service Hooks, org.osgi.framework.hooks.service package
- 55.2 Service Primitives
- 55.3 Normal and proxied service interaction
- 55.4 Event Listener Hook Interaction
- 55.5 Listener Hook Interaction
- 56.1 Byte Code Weaving
- 56.2 Woven Class State Diagram
- 57.1 Resource API Data Transfer Objects
- 57.2 Bundle Wiring API Data Transfer Objects
- 58.1 Class and Service overview
- 59.1 Service Activation with a normal Whiteboard
- 59.2 Service Activation with Condition
- 60.1 Connect Class Diagram
- 101.1 Logger Class Diagram org.osgi.service.log package
- 101.2 Log Admin Class Diagram org.osgi.service.log.admin package
- 701.1 Class diagram of org.osgi.util.tracker
List of Tables
- 1.1 Packages and versions OSGi Core
- 3.1 Examples of version ranges
- 3.2 Native code table
- 3.3 Effect of fragments on searching
- 4.1 Framework Launching Properties
- 4.2 Processor Names
- 4.3 Operating System Names
- 4.4 Fixed Framework Launching Properties
- 4.5 Differences between getResource, getEntry, and findEntries for resolved bundle A
- 4.6 Differences between getResource, getEntry, and findEntries for an unresolved bundle A
- 4.7 Minimum set of classes that can be adapted from Bundle
- 4.8 Supported headers in the system bundle getHeaders method
- 4.9 Admin Permission actions
- 5.1 Standard Service Properties (+ indicates scalar, array of, or collection of)
- 8.1 Default Namespace
- 8.2 osgi.ee Namespace definition
- 8.3 osgi.ee execution environment names
- 8.4 osgi.wiring.package Namespace definition
- 8.5 osgi.wiring.bundle Namespace definition
- 8.6 osgi.wiring.host Namespace definition
- 8.7 osgi.identity Namespace definition
- 8.8 osgi.native Namespace definition
- 50.1 Assigned Permissions. + indicates allow, - deny.
- 56.1 Woven Class State Table
- 57.1 Data Transfer Objects that can be adapted from Bundle
- 57.2 Data Transfer Objects that can be adapted from ServiceReference
- 101.1 Log Levels
- 101.2 Mapping of Bundle Events to Log Entries
- 101.3 Mapping of Service Events to Log Entries
- 101.4 Mapping of Framework Event to Log Entries
- 101.5 Event Topics
- + LICENSE
- + Preface
- + 1 Introduction
- + 2 Security Layer
- + 3 Module Layer
- 3.1 Introduction
- 3.2 Bundles
- 3.3 Dependencies
- 3.4 Execution Environment
- 3.5 Class Loading Architecture
- 3.6 Resolving Metadata
- 3.7 Constraint Solving
- 3.8 Resolving Process
- 3.9 Runtime Class Loading
- 3.10 Loading Native Code Libraries
- 3.11 Localization
- 3.12 Bundle Validity
- 3.13 Requiring Bundles
- 3.14 Fragment Bundles
- 3.15 Extension Bundles
- 3.16 Security
- 3.17 References
- 3.18 Changes
- + 4 Life Cycle Layer
- 4.1 Introduction
- 4.2 Frameworks
- 4.2.1 Launching and Controlling a Framework
- 4.2.2 Launching Properties
- 4.2.3 Life Cycle of a Framework
- 4.2.4 Initializing the Framework
- 4.2.5 Starting the Framework
- 4.2.6 Stopping a Framework
- 4.2.7 Embedding a Framework
- 4.2.8 Framework UUID
- 4.2.9 Daemon Threads
- 4.2.10 Java Service Provider Configuration Support
- 4.3 Bundles
- 4.4 The Bundle Object
- 4.4.1 Bundle Identifiers
- 4.4.2 Bundle State
- 4.4.3 Installing Bundles
- 4.4.4 Resolving Bundles
- 4.4.5 Starting Bundles
- 4.4.6 Activation
- 4.4.7 Stopping Bundles
- 4.4.8 Deactivation
- 4.4.9 Updating Bundles
- 4.4.10 Uninstalling Bundles
- 4.4.11 Detecting Bundle Modifications
- 4.4.12 Retrieving Manifest Headers
- 4.4.13 Loading Classes
- 4.4.14 Access to Resources
- 4.4.15 Permissions of a Bundle
- 4.4.16 Access to a Bundle's Bundle Context
- 4.4.17 Adaptations
- 4.5 The Bundle Context
- 4.6 The System Bundle
- 4.7 Events
- 4.8 Security
- 4.9 References
- + 5 Service Layer
- 5.1 Introduction
- 5.2 Services
- 5.2.1 Service References
- 5.2.2 Service Interfaces
- 5.2.3 Registering Services
- 5.2.4 Early Need for ServiceRegistration Object
- 5.2.5 Service Properties
- 5.2.6 Service Ranking Order
- 5.2.7 Persistent Identifier (PID)
- 5.2.8 Locating Services
- 5.2.9 Getting Service Properties
- 5.2.10 Information About Services
- 5.2.11 Service Exceptions
- 5.2.12 Services and Concurrency
- 5.3 Service Scope
- 5.4 Getting Service Objects
- 5.5 Releasing Service Objects
- 5.6 Service Events
- 5.7 Stale References
- 5.8 Filters
- 5.9 Service Factory
- 5.10 Prototype Service Factory
- 5.11 Unregistering Services
- 5.12 Multiple Version Export Considerations
- 5.13 Security
- + 6 Resource API Specification
- + 7 Bundle Wiring API Specification
- + 8 Framework Namespaces Specification
- + 9 Start Level API Specification
- + 10 Framework API
- 10.1 org.osgi.framework
- 10.1.1 Summary
- 10.1.2 public final class AdaptPermission extends BasicPermission
- 10.1.3 public final class AdminPermission extends BasicPermission
- 10.1.4 public interface AllServiceListener extends ServiceListener
- 10.1.5 public interface Bundle extends Comparable<Bundle>
- 10.1.6 public interface BundleActivator
- 10.1.7 public interface BundleContext extends BundleReference
- 10.1.8 public class BundleEvent extends EventObject
- 10.1.9 public class BundleException extends Exception
- 10.1.10 public interface BundleListener extends EventListener
- 10.1.11 public final class BundlePermission extends BasicPermission
- 10.1.12 public interface BundleReference
- 10.1.13 public final class CapabilityPermission extends BasicPermission
- 10.1.14 public interface Configurable
- 10.1.15 public interface Constants
- 10.1.16 public interface Filter
- 10.1.17 public class FrameworkEvent extends EventObject
- 10.1.18 public interface FrameworkListener extends EventListener
- 10.1.19 public class FrameworkUtil
- 10.1.20 public class InvalidSyntaxException extends RuntimeException
- 10.1.21 public final class PackagePermission extends BasicPermission
- 10.1.22 public interface PrototypeServiceFactory<S> extends ServiceFactory<S>
- 10.1.23 public class ServiceEvent extends EventObject
- 10.1.24 public class ServiceException extends RuntimeException
- 10.1.25 public interface ServiceFactory<S>
- 10.1.26 public interface ServiceListener extends EventListener
- 10.1.27 public interface ServiceObjects<S>
- 10.1.28 public final class ServicePermission extends BasicPermission
- 10.1.29 public interface ServiceReference<S> extends Comparable<Object>, BundleReference
- 10.1.30 public interface ServiceRegistration<S>
- 10.1.31 public interface SynchronousBundleListener extends BundleListener
- 10.1.32 public interface UnfilteredServiceListener extends ServiceListener
- 10.1.33 public class Version implements Comparable<Version>
- 10.1.34 public class VersionRange
- 10.2 org.osgi.framework.launch
- 10.3 org.osgi.resource
- 10.4 org.osgi.framework.wiring
- 10.4.1 Summary
- 10.4.2 public interface BundleCapability extends Capability
- 10.4.3 public interface BundleRequirement extends Requirement
- 10.4.4 public interface BundleRevision extends BundleReference, Resource
- 10.4.5 public interface BundleRevisions extends BundleReference
- 10.4.6 public interface BundleWire extends Wire
- 10.4.7 public interface BundleWiring extends BundleReference, Wiring
- 10.4.8 public interface FrameworkWiring extends BundleReference
- 10.5 org.osgi.framework.startlevel
- 10.6 org.osgi.framework.namespace
- 10.6.1 Summary
- 10.6.2 public abstract class AbstractWiringNamespace extends Namespace
- 10.6.3 public final class BundleNamespace extends AbstractWiringNamespace
- 10.6.4 public final class ExecutionEnvironmentNamespace extends Namespace
- 10.6.5 public final class HostNamespace extends AbstractWiringNamespace
- 10.6.6 public final class IdentityNamespace extends Namespace
- 10.6.7 public final class NativeNamespace extends Namespace
- 10.6.8 public final class PackageNamespace extends AbstractWiringNamespace
- 10.7 org.osgi.annotation.versioning
- 10.8 org.osgi.annotation.bundle
- 10.8.1 Summary
- 10.8.2 @Attribute
- 10.8.3 @Capabilities
- 10.8.4 @Capability
- 10.8.5 @Directive
- 10.8.6 @Export
- 10.8.7 public static final class Export.Substitution
- 10.8.8 @Header
- 10.8.9 @Headers
- 10.8.10 @Referenced
- 10.8.11 @Requirement
- 10.8.12 public static final class Requirement.Cardinality
- 10.8.13 public static final class Requirement.Resolution
- 10.8.14 @Requirements
- 10.1 org.osgi.framework
- + 50 Conditional Permission Admin Service Specification
- 50.1 Introduction
- 50.2 Permission Management Model
- 50.3 Effective Permissions
- 50.4 Conditional Permissions
- 50.5 Conditions
- 50.6 The Permission Check
- 50.7 Permission Management
- 50.8 File Permission for Relative Path Names
- 50.9 Implementing Conditions
- 50.10 Standard Conditions
- 50.11 Bundle Permission Resource
- 50.12 Relation to Permission Admin
- 50.13 Implementation Issues
- 50.14 Security
- 50.15 org.osgi.service.condpermadmin
- 50.15.1 Summary
- 50.15.2 public class BundleLocationCondition
- 50.15.3 public class BundleSignerCondition
- 50.15.4 public interface Condition
- 50.15.5 public interface ConditionalPermissionAdmin
- 50.15.6 public interface ConditionalPermissionInfo
- 50.15.7 public interface ConditionalPermissionUpdate
- 50.15.8 public class ConditionInfo
- + 51 Permission Admin Service Specification
- + 52 URL Handlers Service Specification
- + 53 Resolver Hook Service Specification
- + 54 Bundle Hook Service Specification
- + 55 Service Hook Service Specification
- + 56 Weaving Hook Service Specification
- + 57 Data Transfer Objects Specification
- 57.1 Introduction
- 57.2 Data Transfer Object
- 57.3 Core Data Transfer Objects
- 57.4 Obtaining Core Data Transfer Objects
- 57.5 Security
- 57.6 org.osgi.dto
- 57.7 org.osgi.framework.dto
- 57.8 org.osgi.framework.startlevel.dto
- 57.9 org.osgi.framework.wiring.dto
- 57.10 org.osgi.resource.dto
- 57.10.1 Summary
- 57.10.2 public class CapabilityDTO extends DTO
- 57.10.3 public class CapabilityRefDTO extends DTO
- 57.10.4 public class RequirementDTO extends DTO
- 57.10.5 public class RequirementRefDTO extends DTO
- 57.10.6 public class ResourceDTO extends DTO
- 57.10.7 public class WireDTO extends DTO
- 57.10.8 public class WiringDTO extends DTO
- 57.11 References
- + 58 Resolver Service Specification
- + 59 Condition Service Specification
- + 60 Connect Specification
- + 101 Log Service Specification
- 101.1 Introduction
- 101.2 The Logger Interface
- 101.3 Obtaining a Logger
- 101.4 Logger Configuration
- 101.5 Log Reader Service
- 101.6 Log Entry Interface
- 101.7 Mapping of Events
- 101.8 Log Service
- 101.9 Capabilities
- 101.10 Security
- 101.11 org.osgi.service.log
- 101.11.1 Summary
- 101.11.2 public interface FormatterLogger extends Logger
- 101.11.3 public interface LogEntry
- 101.11.4 public interface Logger
- 101.11.5 public interface LoggerConsumer<E extends Exception>
- 101.11.6 public interface LoggerFactory
- 101.11.7 enum LogLevel
- 101.11.8 public interface LogListener extends EventListener
- 101.11.9 public interface LogReaderService
- 101.11.10 public interface LogService extends LoggerFactory
- 101.12 org.osgi.service.log.admin
- 101.13 References
- + 701 Tracker Specification