org.helgoboss

capsule

package capsule

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. capsule
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Capsule extends AnyRef

    A capsule represents something which is startable and stoppable.

  2. trait CapsuleContext extends AnyRef

    Represents the tree structure which is formed by capsule scopes and their contained capsules.

  3. trait CapsuleConvenience extends AnyRef

    Provides convenient onStart and onStop methods which the end user can use for ad-hoc adding start and stop logic to the current scope.

  4. trait CapsuleScope extends AnyRef

    Represents a collection of capsules which shall all be stopped on the same event.

  5. class DefaultCapsuleScope extends CapsuleScope

    A capsule scope implementation based on a scala.collection.Traversable.

  6. trait DynamicCapsuleContext extends CapsuleContext

    A CapsuleContext implementation based on scala.util.DynamicVariable and DefaultCapsuleScope.

  7. class SimpleDynamicCapsuleContext extends DynamicCapsuleContext

    A class extending from DynamicCapsuleContext.

Inherited from AnyRef

Inherited from Any

Ungrouped