trait Effect extends AutoInject[Effect] with EffectLike
Effect for dependency handling in runtime classpath. When effective injection is performed, only the activated ones of all effects are candidates for injection.
object Effects { def getKind = sys.props.getOrElse("env", "local") object LOCAL extends Effect { def activate: Boolean = getKind == "local" } object DEV extends Effect { def activate: Boolean = getKind == "dev" } object STG extends Effect { def activate: Boolean = getKind == "stg" } object PRD extends Effect { def activate: Boolean = getKind == "prd" } } @Effective(LOCAL) object LocalRuntimeSetting extends Setting with AutoInject[Setting] @Effective(DEV) object DevRuntimeSetting extends Setting with AutoInject[Setting] @Effective(STG) object StgRuntimeSetting extends Setting with AutoInject[Setting] @Effective(PRD) object PrdRuntimeSetting extends Setting with AutoInject[Setting]
- Self Type
- Effect
- Alphabetic
- By Inheritance
- Effect
- EffectLike
- AutoInject
- Injector
- MetaMediation
- CanBeContainer
- AutoInjectable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
activate: Boolean
- Definition Classes
- EffectLike
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
implicit
val
_cntMutation: Container
- Definition Classes
- Injector → CanBeContainer
-
implicit
def
_ijp: InjectionPool
Implicitly injection pool
Implicitly injection pool
- Attributes
- protected
- Definition Classes
- MetaMediation → CanBeContainer
-
implicit
def
_someoneNeeds: Accessor[_]
- Attributes
- protected
- Definition Classes
- CanBeContainer
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
macro
def
bind[T](implicit ctn: Container, ip: InjectionPool, access: Accessor[_]): T
Get accessible dependencies.
Get accessible dependencies. You can detect errors that can not be assigned at compile time.
It is faster than refuel.injector.MetaMediation.inject because of immediate assignment, but the dependency injected at compile time is determined, and this assignment can not be overwritten with "flush" or "narrow".
The scope to which this immediate assignment applies is all the same instances that inherit refuel.injector.AutoInjectable.
- T
Injection type
- ctn
Container
- access
Accessor (This refers to itself)
- Attributes
- protected
- Definition Classes
- MetaMediation
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
macro
def
inject[T](t: scala.reflect.api.JavaUniverse.TypeTag[T])(implicit ctn: Container, ip: InjectionPool, access: Accessor[_]): Lazy[T]
Get accessible dependencies.
Get accessible dependencies.
The type information is resolved at compile time, but the injection object is finalized at runtime. This function is slower than refuel.injector.MetaMediation.bind, but can be overwritten by flush or narrow.
- T
Injection type
- ctn
Container
- access
Accessor (This refers to itself)
- Attributes
- protected
- Definition Classes
- MetaMediation
-
macro
def
inject[T](implicit ctn: Container, ip: InjectionPool, access: Accessor[_]): Lazy[T]
Get accessible dependencies.
Get accessible dependencies.
The type information is resolved at compile time, but the injection object is finalized at runtime. This function is slower than refuel.injector.MetaMediation.bind, but can be overwritten by flush or narrow.
- T
Injection type
- ctn
Container
- access
Accessor (This refers to itself)
- Attributes
- protected
- Definition Classes
- MetaMediation
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
narrow[T](x: T, priority: Int = Int.MaxValue)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T], ctn: Container): Indexer[T]
Gets an indexer for registering new dependencies.
Gets an indexer for registering new dependencies. By default, the dependency priority is set to maximum.
- T
new dependency type
- x
new dependency
- priority
Injection priority.
- Attributes
- protected
- Definition Classes
- MetaMediation
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
overwrite[T](x: T, priority: Int = ...)(implicit arg0: scala.reflect.api.JavaUniverse.WeakTypeTag[T], ctn: Container): Unit
Manually register the new dependency.
Manually register the new dependency.
- T
new dependency type
- x
new dependency.
- priority
Injection priority.
- Definition Classes
- MetaMediation
-
def
shade[T](ctx: (LocalizedContainer) ⇒ T): T
Create a container shade.
Create a container shade.
- T
Result type
- ctx
Shaded container function.
- Definition Classes
- MetaMediation
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def tag: scala.reflect.api.JavaUniverse.Type
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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()