package airframe
- Alphabetic
- By Inheritance
- airframe
- LogSupport
- LazyLogger
- LoggingMethods
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Package Members
Type Members
- trait AirframeException extends Exception
- trait AirframeSpec extends WordSpec with Matchers with GivenWhenThen with BeforeAndAfter with BeforeAndAfterAll with LogSupport
- class Binder[A] extends LogSupport
- case class Design(designOptions: DesignOptions, binding: Vector[Binding]) extends LogSupport with Product with Serializable
Immutable airframe design.
Immutable airframe design.
Design instance does not hold any duplicate bindings for the same Surface.
- case class DesignOptions(enabledLifeCycleLogging: Boolean = true, stage: Stage = Stage.DEVELOPMENT, options: Map[String, Any] = Map.empty) extends Serializable with Product
Design configs
- case class EventHookHolder[A](injectee: Injectee, hook: (A) => Any) extends LifeCycleHook with LogSupport with Product with Serializable
- class Injectee extends AnyRef
- 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 = ...)
- class MethodCallHook extends LifeCycleHook
- 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
- case class SourceCode(filePath: String, fileName: String, line: Int, col: Int) extends Product with Serializable
Source code location
- sealed trait Stage extends AnyRef
Abstract Value Members
- abstract def getClass(): Class[_ <: AnyRef]
- Definition Classes
- Any
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- Any
- final def ##(): Int
- Definition Classes
- Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- macro def debug(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- macro def debug(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- def equals(arg0: Any): Boolean
- Definition Classes
- Any
- macro def error(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- macro def error(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- def getOrElseUpdateTraitFactoryCache(s: Surface, factory: (Session) => Any): (Session) => Any
- def hashCode(): Int
- Definition Classes
- Any
- macro def info(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- macro def info(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val logger: Logger
- Attributes
- protected[this]
- Definition Classes
- LazyLogger
- 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
- def toString(): String
- Definition Classes
- Any
- macro def trace(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- macro def trace(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- val traitFactoryCache: Map[Surface, (Session) => Any]
- macro def warn(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- macro def warn(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
- object AddShutdownHook extends LifeCycleEventHandler
- object AirframeException extends Serializable
- object Binder extends Serializable
- object Design extends Serializable
- object EventHookHolder 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 with LogSupport
Support @PreDestroy and @PostConstruct
- object LazyF0 extends Serializable
- object LifeCycleManager extends Serializable
- object NilLifeCycleEventHandler extends LifeCycleEventHandler
- 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 ShowDebugLifeCycleLog extends LifeCycleEventHandler
- object ShowLifeCycleLog extends LifeCycleEventHandler
- object SourceCode extends Serializable
- object Stage