package airframe
- Alphabetic
- By Inheritance
- airframe
- LogSupport
- LazyLogger
- LoggingMethods
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait AirframeException extends Exception
- 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.
- class DesignOptions extends Serializable
- 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
- sealed trait Stage extends AnyRef
Abstract Value Members
-
abstract
def
getClass(): Class[_]
- 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
Airframe
If importing wvlet.airframe._ is not preferable, Airframe.newDesign can be used.
- 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 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 Stage