package airframe
- Alphabetic
- By Inheritance
- airframe
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait AirframeException extends Exception
- class Binder[A] extends BinderImpl[A]
- trait DISupport extends AnyRef
A trait for embedding Session to user traits or classes
- class Design extends LogSupport with DesignImpl
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, defaultInstanceInjection: Option[Boolean] = None, options: Map[String, Any] = Map.empty) extends Serializable with Product
Design configs
- class DesignWithContext[A] extends Design
DesignWithContext[A] is a wrapper of Design class for chaining lifecycle hooks for the same type A.
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
- 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 SessionImpl with AutoCloseable
Session manages injected objects (e.g., Singleton)
- class SessionBuilder extends LogSupport
- sealed trait Stage extends AnyRef
Value Members
- 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
- macro def bindLocal[A, D1, D2, D3, D4, D5](provider: => (D1, D2, D3, D4, D5) => A): A
Create a new instance of A using the provider function that receives dependencies of D1, D2, D3, D4, and D5.
Create a new instance of A using the provider function that receives dependencies of D1, D2, D3, D4, and D5. The lifecycle of the generated instance of A will be managed by the current session
- macro def bindLocal[A, D1, D2, D3, D4](provider: => (D1, D2, D3, D4) => A): A
Create a new instance of A using the provider function that receives dependencies of D1, D2, D3, and D4.
Create a new instance of A using the provider function that receives dependencies of D1, D2, D3, and D4. The lifecycle of the generated instance of A will be managed by the current session
- macro def bindLocal[A, D1, D2, D3](provider: => (D1, D2, D3) => A): A
Create a new instance of A using the provider function that receives dependencies of D1, D2, and D3.
Create a new instance of A using the provider function that receives dependencies of D1, D2, and D3. The lifecycle of the generated instance of A will be managed by the current session
- macro def bindLocal[A, D1, D2](provider: => (D1, D2) => A): A
Create a new instance of A using the provider function that receives dependencies of D1 and D2.
Create a new instance of A using the provider function that receives dependencies of D1 and D2. The lifecycle of the generated instance of A will be managed by the current session
- macro def bindLocal[A, D1](provider: => (D1) => A): A
Create a new instance of A using the provider function that receives a dependency of D1.
Create a new instance of A using the provider function that receives a dependency of D1. The lifecycle of the generated instaance of A will be managed by the current session
- macro def bindLocal[A](provider: => A): A
Create a new instance of A using the provider function.
Create a new instance of A using the provider function. The lifecycle of the generated instance of A will be managed by the current session.
- 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 DesignOptions extends Serializable
- object LazyF0 extends Serializable
- object Session extends LogSupport
- object Stage
Deprecated Value Members
- macro def bind[A, D1, D2, D3, D4, D5](provider: (D1, D2, D3, D4, D5) => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) bindLocal{ ...} instead
- macro def bind[A, D1, D2, D3, D4](provider: (D1, D2, D3, D4) => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) bindLocal{ ... } instead
- macro def bind[A, D1, D2, D3](provider: (D1, D2, D3) => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) or bindLocal{ ... } instead
- macro def bind[A, D1, D2](provider: (D1, D2) => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead
- macro def bind[A, D1](provider: (D1) => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead
- macro def bind[A](provider: => A): A
- Annotations
- @deprecated
- Deprecated
(Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead