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 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 builders

    Contains builder objects for easily creating Scala OSGi metatypes.

    Contains builder objects for easily creating Scala OSGi metatypes.

    Example

    The following example demonstrates how you can describe configuration parameters for a service.

    import domino.scala_osgi_metatype.builders._
    
    val myObjectClass = ObjectClass(
      id = "domino.my_service",
      name = "My configurable service",
      requiredAttributes = List(
        ElementaryAttribute[Int](id = "size", name = "Size", default = Some(5)),
        ElementaryAttribute[String](id = "user", name = "User", default = Some("root"))
      )
    )
    Definition Classes
    scala_osgi_metatype
  • ElementaryAttribute
  • ListAttribute
  • ObjectClass
  • ObjectClassDefinitionConvenience
  • SingleMetaTypeProvider

object ObjectClass

Convenient builder for object class definitions.

Examples

// Minimum (though I strongly advise to provide a name as well)
ObjectClass(
  id = "domino.my_service",
  requiredAttributes = List(
    ElementaryAttribute[Int](id = "size")
  )
)

// Maximum
ObjectClass(
  id = "domino.my_service",
  name = "My configurable service",
  description = "A service which is configurable",
  requiredAttributes = List(
    ElementaryAttribute[Int](id = "size", name = "Size", default = Some(5)),
    ElementaryAttribute[String](id = "user", name = "User", default = Some("root"))
  ),
  optionalAttributes = List(
    ListAttribute[String](id = "allowedFruits")
  )
)
Note

I've decided not to create a named case class extending ObjectClassDefinition because it would cause name/type conflicts. Moreover, the named class wouldn't add any benefits and would be just another class name to wonder about.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ObjectClass
  2. AnyRef
  3. 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 apply(id: String, name: String = null, description: String = "", requiredAttributes: Traversable[AttributeDefinition[_]] = Nil, optionalAttributes: Traversable[AttributeDefinition[_]] = Nil): ObjectClassDefinition with ObjectClassDefinitionConvenience { ... /* 6 definitions in type refinement */ }

    Builds an object class definition.

    Builds an object class definition.

    id

    ID of the object class

    name

    Name of the object class

    description

    Description of the object class

    requiredAttributes

    attribute definitions of required attributes for the object class

    optionalAttributes

    attribute definitions of optional attributes for the object class

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped