package airframe
- Alphabetic
- By Inheritance
- airframe
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait AirframeException extends Exception
- class Binder[A] extends LogSupport
-
case class
Design(binding: Vector[Binding]) extends LogSupport with Product with Serializable
Immutable airframe design
- case class EventHookHolder[A](surface: Surface, obj: A, hook: (A) ⇒ Any) extends LifeCycleHook with LogSupport with Product with Serializable
-
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.
- class LifeCycleBinder[A] extends AnyRef
- trait LifeCycleEventHandler extends AnyRef
- class LifeCycleEventHandlerChain extends LifeCycleEventHandler
- class LifeCycleEventHandlerPair extends LifeCycleEventHandler
- trait LifeCycleHook extends AnyRef
-
class
LifeCycleManager extends LogSupport
LifeCycleManager manages the life cycle of objects within a Session
- sealed trait LifeCycleStage extends AnyRef
-
implicit
class
LifeCycleSupport[A] extends LogSupport
bind[A].withLifeCycle(init = ..., start = ..., shutdown = ...)
-
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
Value Members
- macro def bind[A, D1, D2, D3, D4, D5](factory: (D1, D2, D3, D4, D5) ⇒ A): A
- macro def bind[A, D1, D2, D3, D4](factory: (D1, D2, D3, D4) ⇒ A): A
- macro def bind[A, D1, D2, D3](factory: (D1, D2, D3) ⇒ A): A
- macro def bind[A, D1, D2](factory: (D1, D2) ⇒ A): A
- macro def bind[A, D1](factory: (D1) ⇒ A): A
- macro def bind[A](factory: ⇒ A): A
- macro def bind[A]: A
- macro def bindSingleton[A, D1, D2, D3, D4, D5](factory: (D1, D2, D3, D4, D5) ⇒ A): A
- macro def bindSingleton[A, D1, D2, D3, D4](factory: (D1, D2, D3, D4) ⇒ A): A
- macro def bindSingleton[A, D1, D2, D3](factory: (D1, D2, D3) ⇒ A): A
- macro def bindSingleton[A, D1, D2](factory: (D1, D2) ⇒ A): A
- macro def bindSingleton[A, D1](factory: (D1) ⇒ A): A
- macro def bindSingleton[A](factory: ⇒ A): A
- macro def bindSingleton[A]: A
- def blancSession: Session
- val factoryCache: Map[Surface, (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]
- object AddShutdownHook extends LifeCycleEventHandler
- object Airframe extends LogSupport
- object AirframeException extends Serializable
- object Binder extends Serializable
- object Design extends Serializable
-
object
FILOLifeCycleHookExecutor extends LifeCycleEventHandler with LogSupport
First In, Last Out (FILO) hook executor.
First In, Last Out (FILO) hook executor.
If objects are injected in A -> B -> C order, init an shutdown orders will be: init => A -> B -> C shutdown order => C -> B -> A
- object INIT extends LifeCycleStage with Product with Serializable
- object JSR250LifeCycleExecutor extends LifeCycleEventHandler
- object LazyF0 extends Serializable
- object LifeCycleManager extends Serializable
- object STARTED extends LifeCycleStage with Product with Serializable
- object STARTING extends LifeCycleStage with Product with Serializable
- object STOPPED extends LifeCycleStage with Product with Serializable
- object STOPPING extends LifeCycleStage with Product with Serializable
- object Session extends LogSupport
- object ShowLifeCycleLog extends LifeCycleEventHandler