mirror of
https://github.com/CarmJos/EasyConfiguration.git
synced 2024-09-19 20:25:51 +00:00
feat(init): 支持针对于实体类的初始化 #9
This commit is contained in:
parent
35398ab741
commit
01e20df559
@ -105,32 +105,6 @@ public class ConfigInitializer<T extends ConfigurationProvider<?>> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeField(@NotNull ConfigurationRoot root,
|
|
||||||
@NotNull Field field, @Nullable String parent,
|
|
||||||
boolean saveDefaults) {
|
|
||||||
try {
|
|
||||||
field.setAccessible(true);
|
|
||||||
Object object = field.get(root);
|
|
||||||
if (object instanceof ConfigValue<?>) {
|
|
||||||
initializeValue(
|
|
||||||
(ConfigValue<?>) object, getFieldPath(field, parent),
|
|
||||||
field.getAnnotation(HeaderComment.class),
|
|
||||||
field.getAnnotation(InlineComment.class),
|
|
||||||
saveDefaults
|
|
||||||
);
|
|
||||||
} else if (object instanceof ConfigurationRoot) {
|
|
||||||
initializeClass(
|
|
||||||
(ConfigurationRoot) object, parent, field.getName(),
|
|
||||||
field.getAnnotation(ConfigPath.class),
|
|
||||||
field.getAnnotation(HeaderComment.class),
|
|
||||||
field.getAnnotation(InlineComment.class),
|
|
||||||
saveDefaults
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} catch (IllegalAccessException ignored) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void initializeClass(@NotNull Class<?> clazz,
|
protected void initializeClass(@NotNull Class<?> clazz,
|
||||||
@Nullable String parentPath, @Nullable String fieldName,
|
@Nullable String parentPath, @Nullable String fieldName,
|
||||||
@Nullable ConfigPath fieldPath,
|
@Nullable ConfigPath fieldPath,
|
||||||
@ -157,6 +131,32 @@ public class ConfigInitializer<T extends ConfigurationProvider<?>> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initializeField(@NotNull ConfigurationRoot root,
|
||||||
|
@NotNull Field field, @Nullable String parent,
|
||||||
|
boolean saveDefaults) {
|
||||||
|
try {
|
||||||
|
field.setAccessible(true);
|
||||||
|
Object object = field.get(root);
|
||||||
|
if (object instanceof ConfigValue<?>) {
|
||||||
|
initializeValue(
|
||||||
|
(ConfigValue<?>) object, getFieldPath(field, parent),
|
||||||
|
field.getAnnotation(HeaderComment.class),
|
||||||
|
field.getAnnotation(InlineComment.class),
|
||||||
|
saveDefaults
|
||||||
|
);
|
||||||
|
} else if (object instanceof ConfigurationRoot) {
|
||||||
|
initializeClass(
|
||||||
|
(ConfigurationRoot) object, parent, field.getName(),
|
||||||
|
field.getAnnotation(ConfigPath.class),
|
||||||
|
field.getAnnotation(HeaderComment.class),
|
||||||
|
field.getAnnotation(InlineComment.class),
|
||||||
|
saveDefaults
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (IllegalAccessException ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void initializeField(@NotNull Class<?> source, @NotNull Field field, @Nullable String parent,
|
private void initializeField(@NotNull Class<?> source, @NotNull Field field, @Nullable String parent,
|
||||||
boolean saveDefaults, boolean loadSubClasses) {
|
boolean saveDefaults, boolean loadSubClasses) {
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user