public abstract class FactoryManager<S extends FactoryManager<S,T,F>,T extends Identifiable,F extends Factory<F,T>> extends Manager<S>
Manager.ManagerEvent<S>| Constructor and Description |
|---|
FactoryManager(Registry<F> registry) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Optional<F> |
get(java.lang.String name)
Gets an object by its registered name.
|
F |
register(F factory)
Register a new object construction factory.
|
abstract F |
register(java.lang.String id,
java.lang.Class<? extends T> type)
Register a new object construction factory.
|
abstract F |
register(java.lang.String id,
java.lang.Class<? extends T> type,
java.util.function.Function<java.lang.Class<?>,java.util.Optional<?>> mapping)
Register a new object construction factory.
|
abstract F |
register(java.lang.String id,
java.util.function.Supplier<T> constructor)
Register a new object construction factory.
|
public abstract F register(java.lang.String id, java.lang.Class<? extends T> type, java.util.function.Function<java.lang.Class<?>,java.util.Optional<?>> mapping)
id - The ID of the factorymapping - The custom DI mappingtype - The class containing the implementationpublic abstract F register(java.lang.String id, java.lang.Class<? extends T> type)
id - The ID of the factorytype - The class containing the implementationpublic abstract F register(java.lang.String id, java.util.function.Supplier<T> constructor)
id - The ID of the factoryconstructor - Instance supplier Supplierpublic F register(F factory)
factory - The construction factorypublic java.util.Optional<F> get(java.lang.String name)
name - Registered name