Table of Contents
- OSGi Specification License, Version 2.0
- 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
-
- 5.1 Introduction
- 5.2 Services
- 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
- 5.14 Changes
- 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
-
- 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.11 References
- 57.12 Changes
- 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
- 101.14 Changes
- 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.framework
Life 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.framework
Service 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