package airframe
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- airframe
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Type Members
- trait AirframeException extends Exception
- class Binder[A] extends LogSupport
- class Design extends LogSupport
Immutable airframe design.
Immutable airframe design.
Design instance does not hold any duplicate bindings for the same Surface.
- case class DesignOptions(enabledLifeCycleLogging: Option[Boolean] = None, stage: Option[Stage] = None, options: Map[String, Any] = Map.empty) extends Serializable with Product
Design configs
- class DesignWithContext[A] extends Design
- class LazyF0[+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.
- case class LifeCycleHookDesign(lifeCycleHookType: LifeCycleHookType, surface: Surface, hook: (Any) => Unit) extends Product with Serializable
- implicit class LifeCycleSupport[A] extends LogSupport
- trait Session extends AutoCloseable
Session manages injected objects (e.g., Singleton)
- class SessionBuilder extends LogSupport
- trait SessionHolder extends AnyRef
Trait for embedding Session to a user trait
- sealed trait Stage extends AnyRef
Value Members
- macro def bind[A, D1, D2, D3, D4, D5](provider: (D1, D2, D3, D4, D5) => A): A
- macro def bind[A, D1, D2, D3, D4](provider: (D1, D2, D3, D4) => A): A
- macro def bind[A, D1, D2, D3](provider: (D1, D2, D3) => A): A
- macro def bind[A, D1, D2](provider: (D1, D2) => A): A
- macro def bind[A, D1](provider: (D1) => A): A
- macro def bind[A](provider: => A): A
- macro def bind[A]: A
Inject a singleton of A
- macro def bindFactory[F <: Function1[_, _]]: F
- macro def bindFactory2[F <: Function2[_, _, _]]: F
- macro def bindFactory3[F <: Function3[_, _, _, _]]: F
- macro def bindFactory4[F <: Function4[_, _, _, _, _]]: F
- macro def bindFactory5[F <: Function5[_, _, _, _, _, _]]: F
- def getOrElseUpdateTraitFactoryCache(s: Surface, factory: (Session) => Any): (Session) => Any
- def newDesign: Design
The entry point to create a new design beginning from a blanc design
import wvlet.airframe._ val d = design.bind[X]
- def newSilentDesign: Design
Create an empty design, which sends life cycle logs to debug log level
- macro def registerTraitFactory[A]: Surface
- val traitFactoryCache: Map[Surface, (Session) => Any]
- object AirframeException extends Serializable
- object Binder extends Serializable
- object Design extends Serializable
- object LazyF0 extends Serializable
- object Session extends LogSupport
- object Stage