public abstract class BaseFactory<E extends Enum<E>> extends Object
Modifier | Constructor and Description |
---|---|
protected |
BaseFactory() |
Modifier and Type | Method and Description |
---|---|
protected abstract Class<?>[] |
constructorTypes()
返回此枚举需要的构造参数列表
|
protected abstract Class<E> |
enumType()
获取枚举类型
|
protected E |
registerEnum(String name,
Object... params)
创建一个新的枚举对象。
请注意不要出现冲突的名称 |
protected abstract void |
requireCanUse(String name,
Object[] params)
字工厂自主实现的参数权限判断。提供新枚举实例的枚举名称与参数列表。
|
protected void |
throwOrPass(String name,
Object[] params)
判断规则是否匹配
|
protected abstract IntFunction<E[]> |
toArrayFunction()
接受一个数值参数,返回一个枚举数组。
主要用于在获取values的时候将结果转化为数组用。 可以考虑不再强制需要实现,不过还是手动实现的效率高一点。我猜的。 |
E[] |
valueByArray(String... names)
根据名称列表转化为数组类型
|
E |
valueOf(String name)
根据名称获取枚举实例。包括额外添加的。
|
E[] |
values()
获取全部values值
|
protected abstract Class<?>[] constructorTypes()
protected abstract IntFunction<E[]> toArrayFunction()
protected E registerEnum(String name, Object... params) throws EnumInstantiationRequireException, EnumInstantiationException
name
- 枚举名称params
- 参数列表EnumInstantiationRequireException
EnumInstantiationException
public E[] values()
public E[] valueByArray(String... names)
names
- 名称列表protected void throwOrPass(String name, Object[] params) throws Exception
name
- 枚举名称params
- 参数列表Exception
Copyright © 2020. All rights reserved.