Packages

abstract class PluginDef[T] extends PluginBase with ModuleDef

Use it to define Plugins using izumi.distage.model.definition.dsl.ModuleDefDSL syntax

object MyPlugin extends PluginDef {
  include(myModule[F])

  make[Xa[F]].from[Xa.Impl[F]]
}
Note

Since this is an abstract class, you cannot mix it with other classes or use it as a mixin. Instead, you may inherit from PluginBase, which is a trait – but in that case compile-time checks will not re-run when the class is updated in that case. Alternatively, you may use izumi.distage.model.definition.dsl.IncludesDSL#include to compose modules as values instead of using inheritance.

See also

Plugins

Compile-time checks

Linear Supertypes
ModuleDef, ModuleDefDSL, TagsDSL, IncludesDSL, AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL], Module, PluginBase, ModuleBase, ModuleBaseInstances, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PluginDef
  2. ModuleDef
  3. ModuleDefDSL
  4. TagsDSL
  5. IncludesDSL
  6. AbstractBindingDefDSL
  7. Module
  8. PluginBase
  9. ModuleBase
  10. ModuleBaseInstances
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PluginDef()(implicit recompilationToken: ForcedRecompilationToken[T])

    recompilationToken

    Makes compile-time checks re-run when the source code of this PluginDef is changed, if it's used in the checked role.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def _initialIncludes: ArrayBuffer[Include]
    Attributes
    protected[this]
    Definition Classes
    IncludesDSL
  5. def _initialState: ArrayBuffer[BindingRef]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  6. def _initialTaggedIncludes: ArrayBuffer[IncludeApplyTags]
    Attributes
    protected[this]
    Definition Classes
    IncludesDSL
  7. def _initialTags: Set[BindingTag]
    Attributes
    protected[this]
    Definition Classes
    TagsDSL
  8. final def _make[T](provider: Functoid[T])(implicit arg0: Tag[T], pos: CodePositionMaterializer): MakeDSL[T]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  9. def _registered[T <: BindingRef](bindingRef: T): T
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  10. final def addImplicit[T](implicit arg0: Tag[T], instance: T, pos: CodePositionMaterializer): MakeDSLUnnamedAfterFrom[T]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. final def bindings: Set[Binding]
    Definition Classes
    ModuleDefDSL
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def equals(obj: Any): Boolean
    Definition Classes
    ModuleBase → AnyRef → Any
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def hashCode(): Int
    Definition Classes
    ModuleBase → AnyRef → Any
  18. final def include(that: ModuleBase): Unit
    Attributes
    protected[this]
    Definition Classes
    IncludesDSL
  19. final def includeApplyTags(that: ModuleBase): Unit
    Attributes
    protected[this]
    Definition Classes
    IncludesDSL
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. final def iterator: Iterator[Binding]
    Definition Classes
    ModuleDefDSL
  22. final def keys: Set[DIKey]
    Definition Classes
    ModuleBase
  23. final def keysIterator: Iterator[DIKey]
    Definition Classes
    ModuleDefDSL
  24. final macro def make[T]: MakeDSL[T]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  25. final def many[T](implicit tag: Tag[Set[T]], pos: CodePositionMaterializer): SetDSL[T]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  26. final def modify[T]: ModifyDSL[T, MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. final def tag(tags: BindingTag*): Unit
    Attributes
    protected[this]
    Definition Classes
    TagsDSL
  32. final def toString(): String
    Definition Classes
    ModuleBase → AnyRef → Any
  33. final def todo[T](implicit arg0: Tag[T], pos: CodePositionMaterializer): MakeDSLUnnamedAfterFrom[T]
    Attributes
    protected[this]
    Definition Classes
    AbstractBindingDefDSL
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from ModuleDef

Inherited from ModuleDefDSL

Inherited from TagsDSL

Inherited from IncludesDSL

Inherited from AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]

Inherited from Module

Inherited from PluginBase

Inherited from ModuleBase

Inherited from ModuleBaseInstances

Inherited from AnyRef

Inherited from Any

Ungrouped