class Design extends LogSupport with DesignImpl
Immutable airframe design.
Design instance does not hold any duplicate bindings for the same Surface.
- Alphabetic
- By Inheritance
- Design
- DesignImpl
- LogSupport
- LazyLogger
- LoggingMethods
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Design(designOptions: DesignOptions, binding: Vector[Binding], hooks: Vector[LifeCycleHookDesign])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: Design): Design
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def add(other: Design): Design
- def addBinding[A](b: Binding): DesignWithContext[A]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bind(t: Surface)(implicit sourceCode: SourceCode): Binder[Any]
-
macro
def
bind[A]: Binder[A]
- Definition Classes
- DesignImpl
-
macro
def
build[A](body: (A) ⇒ Any): Any
A helper method of creating a new session and an instance of A.
A helper method of creating a new session and an instance of A. This method is useful when you only need to use A as an entry point of your program. After executing the body, the sesion will be closed.
- Definition Classes
- DesignImpl
- def canEqual(other: Any): Boolean
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
macro
def
debug(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
debug(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(other: Any): Boolean
- Definition Classes
- Design → AnyRef → 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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- Design → AnyRef → 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
-
macro
def
logAt(logLevel: LogLevel, message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
lazy val
logger: Logger
- Attributes
- protected[this]
- Definition Classes
- LazyLogger
-
def
minimize: Design
Generates a minimized design by removing overwritten bindings
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newSession: Session
Create a new session.
Create a new session.
With this method, the session will not start automatically. You need to explicitly call session.start and session.shutdown to start/terminate the lifecycle of objects
-
def
newSessionBuilder: SessionBuilder
Method for configuring the session in details
- def noDefaultInstanceInjection: Design
- def noLifeCycleLogging: Design
- def noStats: Design
- def noTracer: Design
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def remove(t: Surface): Design
-
macro
def
remove[A]: Design
- Definition Classes
- DesignImpl
-
macro
def
run[A, B](body: (A) ⇒ B): B
Execute a given code block by building A using this design, and return B
Execute a given code block by building A using this design, and return B
- Definition Classes
- DesignImpl
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toDesign: Design
Used for casting itself as Design if returning DesignWithContext type is cumbersome
-
def
toString(): String
- Definition Classes
- Design → AnyRef → 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
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
macro
def
warn(message: Any, cause: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
macro
def
warn(message: Any): Unit
- Attributes
- protected
- Definition Classes
- LoggingMethods
-
def
withLazyMode: Design
Do not initialize singletons for debugging
- def withLifeCycleLogging: Design
-
def
withProductionMode: Design
Enable eager initialization of singletons services for production mode
-
def
withSession[U](body: (Session) ⇒ U): U
Run the code block with a new session.
Run the code block with a new session.
This method will create a new session, start it, run the given code block, and finally terminate the session after the code block completion.
- def withStats(stats: DIStats): Design
-
def
withTracer(t: Tracer): Design
Use a custom binding tracer
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated