public interface Injector
API used by World
to inject objects annotated with Wire
with
dependencies. An injector injects ComponentMapper
, BaseSystem
and .Manager
types into systems and managers.
To inject arbitrary types, use registered through WorldConfiguration.register(java.lang.Object)
.
To customize the injection-strategy for arbitrary types further, registered a custom FieldHandler
with custom one or more FieldResolver
.
FieldHandler
Modifier and Type | Method and Description |
---|---|
<T> T |
getRegistered(Class<T> id)
Programmatic retrieval of registered objects.
|
<T> T |
getRegistered(String id)
Programmatic retrieval of registered objects.
|
void |
initialize(World world,
Map<String,Object> injectables) |
void |
inject(Object target)
Inject dependencies on object.
|
boolean |
isInjectable(Object target)
Determins if a target object can be injected by this injector.
|
Injector |
setFieldHandler(FieldHandler fieldHandler)
Enables the injector to be configured with a custom
FieldHandler which will
be used to resolve instance values for target-fields. |
<T> T getRegistered(String id)
id
- Name or class name.WorldConfiguration.register(String, Object)
<T> T getRegistered(Class<T> id)
getRegistered(String)
, with the class name
as parameter.id
- Uniquely registered instance, identified by class..WorldConfiguration.register(Object)
void initialize(World world, Map<String,Object> injectables)
world
- this Injector will be used forinjectables
- registered via WorldConfiguration.register(java.lang.Object)
InjectionException
- when injector lacks a means to inject injectables.void inject(Object target) throws RuntimeException
FieldHandler
to resolve
feiled values.target
- object which should have dependencies injected.RuntimeException
FieldHandler
boolean isInjectable(Object target)
target
- eligable for injectionInjector setFieldHandler(FieldHandler fieldHandler)
FieldHandler
which will
be used to resolve instance values for target-fields.fieldHandler
- to use for resolving dependency valuesCopyright © 2019. All rights reserved.