public final class FactoryCollector extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected Set<Supplier<Object>> |
commandFac |
| 构造器和说明 |
|---|
FactoryCollector(ConsoleConfigProvider.DefaultValueConfigBuilder builder) |
| 限定符和类型 | 方法和说明 |
|---|---|
FactoryCollector |
add(Class<?> factory)
增加一个类对象,根据这个类对象获取它的实例,并装配到框架
|
FactoryCollector |
add(Class<?> factory,
boolean enable) |
FactoryCollector |
add(Object factory,
boolean enable) |
FactoryCollector |
add(Supplier<Object> factory,
boolean enable) |
ConsoleConfig |
ok() |
FactoryCollector |
scanPack()
扫描调用者所在的包
|
FactoryCollector |
scanPack(String packName)
扫描一个包下的所有类,并将这些类实例化
目前的策略是遍历检查这个包下的所有的类(包括子包),如果这个类中含有名为
FACTORY_INSTANCE 或者
INSTANCE 的静态常量,且这个静态常量的类型和当前类的类型一致,则获取这个变量值,装配到框架的容器中。 |
ConsoleConfigProvider.DefaultValueConfigBuilder |
then() |
public FactoryCollector(ConsoleConfigProvider.DefaultValueConfigBuilder builder)
public FactoryCollector add(Class<?> factory)
factory - 一个工厂类的类型public FactoryCollector scanPack()
public FactoryCollector scanPack(String packName)
目前的策略是遍历检查这个包下的所有的类(包括子包),如果这个类中含有名为 FACTORY_INSTANCE 或者
INSTANCE 的静态常量,且这个静态常量的类型和当前类的类型一致,则获取这个变量值,装配到框架的容器中。
例:
public class MyFactory {
private static final MyFactory INSTANCE = new MyFactory();
}
这个名为"INSTANCE"的变量会被装配
packName - 包名public FactoryCollector add(Supplier<Object> factory, boolean enable)
factory - 一个工厂提供者,通过调用它的 get() 方法获取工厂的实例enable - 是否启用,只有这个为 true, 才会进行装配public FactoryCollector add(Object factory, boolean enable)
factory - 工厂类的实例enable - 是否启用,只有这个为 true, 才会进行装配public FactoryCollector add(Class<?> factory, boolean enable)
factory - add(Object, boolean)enable - add(Object, boolean)public ConsoleConfigProvider.DefaultValueConfigBuilder then()
public ConsoleConfig ok()
Copyright © 2021. All rights reserved.