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