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) extends BinderImpl[A]
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 with DesignImpl

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 SessionImpl with 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 <code> import wvlet.airframe._

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

val d = design.bind[X] </code>

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]