Packages

  • package root
    Definition Classes
    root
  • package domino

    Contains Domino, a lightweight Scala library for writing elegant OSGi bundle activators.

    Contains Domino, a lightweight Scala library for writing elegant OSGi bundle activators.

    For getting started, please see DominoActivator, the main entry point to the Domino DSL. Each sub package contains functionality for a specific part of the DSL.

    Definition Classes
    root
  • package bundle_watching

    Contains functionality related to watching OSGi bundles coming and going.

    Contains functionality related to watching OSGi bundles coming and going.

    Definition Classes
    domino
  • package capsule

    Contains a basic API and default implementation for building, using and extending a capsule-based DSL.

    Contains a basic API and default implementation for building, using and extending a capsule-based DSL.

    A capsule-based DSL is a generalization of the DSL used in the project "Domino". Here's an illustrative example how a capsuled-based DSL might look like:

    // Somewhere in your code
    whenTurnedOn {
      whenDevicePluggedIn {
        lightLED()
      }
    }

    The documentation distinguishes between 3 types of API clients: End users, capsule providers and context providers. The majority of developers will just come into contact with this API as end users.

    Definition Classes
    domino
  • package configuration_watching

    Contains functionality related to watching OSGi configuration changes.

    Contains functionality related to watching OSGi configuration changes.

    Definition Classes
    domino
  • package logging

    Contains functionality related to OSGi logging.

    Contains functionality related to OSGi logging.

    Definition Classes
    domino
  • package scala_logging

    Contains a simple Scala API for logging along with a Java Logging API implementation.

    Contains a simple Scala API for logging along with a Java Logging API implementation.

    The generic logging interface is provided by the Logger trait. Implementations for various logging frameworks such as SLF4J or OSGi LogService are provided in separate modules.

    See JavaUtilLogging for a convenient way to use Java Logging API.

    Definition Classes
    domino
  • package scala_osgi_metatype

    Contains Scala interfaces, adapters and builders for easily building OSGi Metatype descriptions.

    Contains Scala interfaces, adapters and builders for easily building OSGi Metatype descriptions. OSGi Metatype descriptions are very well suited for quickly providing administration user interfaces.

    You probably want to check out the builders.

    Definition Classes
    domino
    Note

    I created totally new Scala interfaces and adapters instead of directly implementing the Java interfaces of the OSGi Metatype API in order to prevent name clashes and confusion about what method to call. Scala Swing does it the same way, I guess for the same reasons.

  • package service_consuming

    Contains functionality related to acquiring OSGi services.

    Contains functionality related to acquiring OSGi services.

    Definition Classes
    domino
  • package service_providing

    Contains functionality related to registering objects in the OSGi service registry.

    Contains functionality related to registering objects in the OSGi service registry.

    Definition Classes
    domino
  • package service_watching

    Contains functionality related to watching OSGi services coming and going.

    Contains functionality related to watching OSGi services coming and going.

    Definition Classes
    domino
  • DominoActivator
  • DominoImplicits
  • DominoUtil
  • EmptyBundleActivator
  • OsgiContext
  • RichServiceReference
t

domino

OsgiContext

trait OsgiContext extends DynamicCapsuleContext with EmptyBundleActivator

Provides the basis for the Domino DSL by binding the bundle lifecycle to a capsule scope.

See also

domino.capsule

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OsgiContext
  2. EmptyBundleActivator
  3. BundleActivator
  4. DynamicCapsuleContext
  5. CapsuleContext
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addCapsule(capsule: Capsule): Unit

    Starts the given capsule and adds it to the current capsule scope.

    Starts the given capsule and adds it to the current capsule scope.

    capsule

    capsule

    Definition Classes
    DynamicCapsuleContextCapsuleContext
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def bundleContext: BundleContext

    Returns the bundle context as long as the bundle is active.

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def executeWithinNewCapsuleScope(f: ⇒ Unit): CapsuleScope

    Creates a new capsule scope on top of the active one and executes the given function in it.

    Creates a new capsule scope on top of the active one and executes the given function in it. So the function sees the new capsule scope as the current one.

    f

    the function which might add capsules to the new scope

    returns

    the new scope

    Definition Classes
    DynamicCapsuleContextCapsuleContext
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def start(context: BundleContext): Unit
    Definition Classes
    OsgiContextEmptyBundleActivator → BundleActivator
  19. def stop(context: BundleContext): Unit
    Definition Classes
    OsgiContextEmptyBundleActivator → BundleActivator
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  25. def whenBundleActive(f: ⇒ Unit): Unit

    Defines a handler f to be executed when the bundle becomes active.

    Defines a handler f to be executed when the bundle becomes active. f is executed as soon as the bundle activator's start method is called. This should be called in the constructor of your activator.

    In f, you have the opportunity to add so called capsules, which have their own start and stop methods (a kind of mini bundles). Their stop methods will be invoked as soon as the bundle activator's stop method is called. So you have the big chance here to encapsulate start and stop logic at one place, making the bundle activator less error-prone, better readable and easier to write.

    f

    Handler

Inherited from EmptyBundleActivator

Inherited from BundleActivator

Inherited from DynamicCapsuleContext

Inherited from CapsuleContext

Inherited from AnyRef

Inherited from Any

Basics

Basic methods

Ungrouped