wvlet.airframe

Type members

Classlikes

trait AirframeException extends Exception
Companion:
object
Companion:
class
object Binder
Companion:
class
class Binder[A](val design: Design, val from: Surface, val sourceCode: SourceCode)
Companion:
object
trait DISupport

A trait for embedding Session to user traits or classes

A trait for embedding Session to user traits or classes

class Design(val designOptions: DesignOptions, val binding: Vector[Binding], val hooks: Vector[LifeCycleHookDesign]) extends LogSupport

Immutable airframe design.

Immutable airframe design.

Design instance does not hold any duplicate bindings for the same Surface.

Companion:
object
object Design
Companion:
class
case class DesignOptions(enabledLifeCycleLogging: Option[Boolean], stage: Option[Stage], defaultInstanceInjection: Option[Boolean], options: Map[String, Any]) extends Serializable

Design configs

Design configs

Companion:
object
Companion:
class
class DesignWithContext[A](design: Design, lastSurface: Surface) extends Design

DesignWithContext[A] is a wrapper of Design class for chaining lifecycle hooks for the same type A. This can be safely cast to just Design

DesignWithContext[A] is a wrapper of Design class for chaining lifecycle hooks for the same type A. This can be safely cast to just Design

object LazyF0
Companion:
class
class LazyF0[+R](f: => R) extends Serializable with Cloneable

This class is used to obtain the class names of the call-by-name functions (Function0[R]).

This class is used to obtain the class names of the call-by-name functions (Function0[R]).

This wrapper do not directly access the field f (Function0[R]) in order to avoid the evaluation of the function.

Companion:
object
case class LifeCycleHookDesign(lifeCycleHookType: LifeCycleHookType, surface: Surface, hook: Any => Unit)
trait Session extends AutoCloseable

Session manages injected objects (e.g., Singleton)

Session manages injected objects (e.g., Singleton)

Companion:
object
object Session extends LogSupport
Companion:
class
class SessionBuilder(design: Design, parent: Option[AirframeSession], name: Option[String], addShutdownHook: Boolean, lifeCycleEventHandler: LifeCycleEventHandler) extends LogSupport
sealed trait Stage
Companion:
object
object Stage
Companion:
class

Value members

Concrete methods

def getOrElseUpdateTraitFactoryCache(s: Surface, factory: Session => Any): Session => Any

The entry point to create a new design beginning from a blanc design import wvlet.airframe._

The entry point to create a new design beginning from a blanc design import wvlet.airframe._

val d = design.bind[X]

Create an empty design, which sends life cycle logs to debug log level

Create an empty design, which sends life cycle logs to debug log level

Concrete fields

val traitFactoryCache: Map[Surface, Session => Any]