Package

wvlet

airframe

Permalink

package airframe

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. airframe
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AirframeException extends Exception

    Permalink
  2. class Binder[A] extends LogSupport

    Permalink

  3. trait DISupport extends AnyRef

    Permalink

    A trait for embedding Session to user traits or classes

  4. class Design extends LogSupport

    Permalink

    Immutable airframe design.

    Immutable airframe design.

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

  5. 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

    Permalink

    Design configs

  6. class DesignWithContext[A] extends Design

    Permalink

    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

  7. class LazyF0[+R] extends Serializable with Cloneable

    Permalink

    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.

  8. case class LifeCycleHookDesign(lifeCycleHookType: LifeCycleHookType, surface: Surface, hook: (Any) ⇒ Unit) extends Product with Serializable

    Permalink
  9. implicit class LifeCycleSupport[A] extends LogSupport

    Permalink
  10. trait Session extends AutoCloseable

    Permalink

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

  11. class SessionBuilder extends LogSupport

    Permalink

  12. case class SourceCode(filePath: String, fileName: String, line: Int, col: Int) extends Product with Serializable

    Permalink

    A hack to embed source code location where DI is used

  13. sealed trait Stage extends AnyRef

    Permalink

Value Members

  1. object AirframeException extends Serializable

    Permalink
  2. object Binder extends Serializable

    Permalink
  3. object Design extends Serializable

    Permalink
  4. object LazyF0 extends Serializable

    Permalink
  5. object Session extends LogSupport

    Permalink
  6. object SourceCode extends Serializable

    Permalink
  7. object Stage

    Permalink
  8. macro def bind[A]: A

    Permalink

    Inject a singleton of A

  9. macro def bindFactory[F <: Function1[_, _]]: F

    Permalink
  10. macro def bindFactory2[F <: Function2[_, _, _]]: F

    Permalink
  11. macro def bindFactory3[F <: Function3[_, _, _, _]]: F

    Permalink
  12. macro def bindFactory4[F <: Function4[_, _, _, _, _]]: F

    Permalink
  13. macro def bindFactory5[F <: Function5[_, _, _, _, _, _]]: F

    Permalink
  14. macro def bindLocal[A, D1, D2, D3, D4, D5](provider: ⇒ (D1, D2, D3, D4, D5) ⇒ A): A

    Permalink

    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

  15. macro def bindLocal[A, D1, D2, D3, D4](provider: ⇒ (D1, D2, D3, D4) ⇒ A): A

    Permalink

    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

  16. macro def bindLocal[A, D1, D2, D3](provider: ⇒ (D1, D2, D3) ⇒ A): A

    Permalink

    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

  17. macro def bindLocal[A, D1, D2](provider: ⇒ (D1, D2) ⇒ A): A

    Permalink

    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

  18. macro def bindLocal[A, D1](provider: ⇒ (D1) ⇒ A): A

    Permalink

    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

  19. macro def bindLocal[A](provider: ⇒ A): A

    Permalink

    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.

  20. def getOrElseUpdateTraitFactoryCache(s: Surface, factory: (Session) ⇒ Any): (Session) ⇒ Any

    Permalink
  21. package lifecycle

    Permalink
  22. def newDesign: Design

    Permalink

    The entry point to create a new design beginning from a blanc design import wvlet.airframe._ val d = design.bind[X]

    The entry point to create a new design beginning from a blanc design import wvlet.airframe._ val d = design.bind[X]

  23. def newSilentDesign: Design

    Permalink

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

  24. macro def registerTraitFactory[A]: Surface

    Permalink
  25. package tracing

    Permalink
  26. val traitFactoryCache: Map[Surface, (Session) ⇒ Any]

    Permalink

Deprecated Value Members

  1. macro def bind[A, D1, D2, D3, D4, D5](provider: (D1, D2, D3, D4, D5) ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) bindLocal{ ...} instead

  2. macro def bind[A, D1, D2, D3, D4](provider: (D1, D2, D3, D4) ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) bindLocal{ ... } instead

  3. macro def bind[A, D1, D2, D3](provider: (D1, D2, D3) ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) or bindLocal{ ... } instead

  4. macro def bind[A, D1, D2](provider: (D1, D2) ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead

  5. macro def bind[A, D1](provider: (D1) ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead

  6. macro def bind[A](provider: ⇒ A): A

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 19.11.0) Use design.bind[A].toProvider(...) or in-trait bindLocal{...} instead

Inherited from AnyRef

Inherited from Any

Ungrouped