Packages

class Design extends LogSupport with DesignImpl

Immutable airframe design.

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

Linear Supertypes
DesignImpl, LogSupport, LazyLogger, LoggingMethods, Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Design
  2. DesignImpl
  3. LogSupport
  4. LazyLogger
  5. LoggingMethods
  6. Serializable
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Design(designOptions: DesignOptions, binding: Vector[Binding], hooks: Vector[LifeCycleHookDesign])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: Design): Design
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. def add(other: Design): Design
  6. def addBinding[A](b: Binding): DesignWithContext[A]
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def bind(t: Surface)(implicit sourceCode: SourceCode): Binder[Any]
  9. macro def bind[A]: Binder[A]
    Definition Classes
    DesignImpl
  10. 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
  11. def canEqual(other: Any): Boolean
  12. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  13. macro def debug(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  14. macro def debug(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(other: Any): Boolean
    Definition Classes
    Design → AnyRef → Any
  17. macro def error(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  18. macro def error(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def hashCode(): Int
    Definition Classes
    Design → AnyRef → Any
  21. macro def info(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  22. macro def info(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. macro def logAt(logLevel: LogLevel, message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  25. lazy val logger: Logger
    Attributes
    protected[this]
    Definition Classes
    LazyLogger
  26. def minimize: Design

    Generates a minimized design by removing overwritten bindings

  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. 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

  29. def newSessionBuilder: SessionBuilder

    Method for configuring the session in details

  30. def noDefaultInstanceInjection: Design
  31. def noLifeCycleLogging: Design
  32. def noStats: Design
  33. def noTracer: Design
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. def remove(t: Surface): Design
  37. macro def remove[A]: Design
    Definition Classes
    DesignImpl
  38. 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
  39. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  40. def toDesign: Design

    Used for casting itself as Design if returning DesignWithContext type is cumbersome

  41. def toString(): String
    Definition Classes
    Design → AnyRef → Any
  42. macro def trace(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  43. macro def trace(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  46. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. macro def warn(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  48. macro def warn(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  49. def withLazyMode: Design

    Do not initialize singletons for debugging

  50. def withLifeCycleLogging: Design
  51. def withProductionMode: Design

    Enable eager initialization of singletons services for production mode

  52. 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.

  53. def withStats(stats: DIStats): Design
  54. def withTracer(t: Tracer): Design

    Use a custom binding tracer

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from DesignImpl

Inherited from LogSupport

Inherited from LazyLogger

Inherited from LoggingMethods

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped