wvlet.airframe

Attributes

Members list

Concise view

Type members

Classlikes

trait AirframeException extends Exception

Attributes

Companion:
object
Graph
Supertypes
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object Binder

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Binder.type
class Binder[A](val design: Design, val from: Surface, val sourceCode: SourceCode)

Attributes

Companion:
object
Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
trait DISupport

A trait for embedding Session to user traits or classes

A trait for embedding Session to user traits or classes

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
class Design(val designOptions: DesignOptions, val binding: Vector[Binding], val hooks: Vector[LifeCycleHookDesign]) extends LogSupport

Immutable airframe design.

Immutable airframe design.

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

Attributes

Companion:
object
Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
object Design

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Design.type
case class DesignOptions(enabledLifeCycleLogging: Option[Boolean], stage: Option[Stage], defaultInstanceInjection: Option[Boolean], options: Map[String, Any]) extends Serializable

Design configs

Design configs

Attributes

Companion:
object
Graph
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
class DesignWithContext[A](design: Design, lastSurface: Surface) extends Design

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

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

Attributes

Graph
Supertypes
class Design
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
object LazyF0

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
LazyF0.type
class LazyF0[+R](f: => 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.

Attributes

Companion:
object
Graph
Supertypes
trait Cloneable
trait Serializable
class Object
trait Matchable
class Any
case class LifeCycleHookDesign(lifeCycleHookType: LifeCycleHookType, surface: Surface, hook: Any => Unit)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
trait Session extends AutoCloseable

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

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

Attributes

Companion:
object
Graph
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
object Session extends LogSupport

Attributes

Companion:
trait
Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Self type
Session.type
class SessionBuilder(design: Design, parent: Option[AirframeSession], name: Option[String], addShutdownHook: Boolean, lifeCycleEventHandler: LifeCycleEventHandler) extends LogSupport

Attributes

Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
sealed trait Stage

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object DEVELOPMENT.type
object PRODUCTION.type
object Stage

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Stage.type

Value members

Concrete methods

def getOrElseUpdateTraitFactoryCache(s: Surface, factory: Session => Any): Session => Any

The entry point to create a new design beginning from a blanc design import wvlet.airframe._

The entry point to create a new design beginning from a blanc design import wvlet.airframe._

val d = design.bind[X]

Attributes

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

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

Attributes

inline def registerTraitFactory[A]: Unit
def registerTraitFactoryImpl[A](using tpe: Type[A], q: Quotes): Expr[Unit]

Concrete fields

val traitFactoryCache: Map[Surface, Session => Any]