public final class CachedInjector extends Object implements Injector
ComponentMapper
, BaseSystem
and Manager
types into systems and
managers. Can also inject arbitrary types if registered through WorldConfiguration.register(java.lang.Object)
.
Caches all type-information.
For greater control over the dependency-resolution, provide a FieldHandler
to setFieldHandler(FieldHandler)
,
which will be used to resolve dependency values instead.
FieldHandler
Constructor and Description |
---|
CachedInjector() |
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. |
public Injector setFieldHandler(FieldHandler fieldHandler)
Injector
FieldHandler
which will
be used to resolve instance values for target-fields.setFieldHandler
in interface Injector
fieldHandler
- to use for resolving dependency valuespublic <T> T getRegistered(String id)
Injector
getRegistered
in interface Injector
id
- Name or class name.WorldConfiguration.register(String, Object)
public <T> T getRegistered(Class<T> id)
Injector
Injector.getRegistered(String)
, with the class name
as parameter.getRegistered
in interface Injector
id
- Uniquely registered instance, identified by class..WorldConfiguration.register(Object)
public void initialize(World world, Map<String,Object> injectables)
initialize
in interface Injector
world
- this Injector will be used forinjectables
- registered via WorldConfiguration.register(java.lang.Object)
public boolean isInjectable(Object target)
Injector
isInjectable
in interface Injector
target
- eligable for injectionpublic void inject(Object target) throws RuntimeException
Injector
FieldHandler
to resolve
feiled values.inject
in interface Injector
target
- object which should have dependencies injected.RuntimeException
FieldHandler
Copyright © 2019. All rights reserved.