LibJF/libjf-config-core-v2/src/main/java/io/gitlab/jfronny/libjf/config/api/v2/Category.java

20 lines
609 B
Java
Raw Normal View History

2023-08-30 14:14:20 +02:00
package io.gitlab.jfronny.libjf.config.api.v2;
2022-03-30 23:08:51 +02:00
2023-03-11 21:24:59 +01:00
import java.lang.annotation.*;
2022-03-30 23:08:51 +02:00
/**
* Annotation for config subclasses, which are to be shown as categories
*/
2022-03-30 23:08:51 +02:00
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Category {
2023-07-18 17:23:40 +02:00
/**
* @return Other configs that should be shown to users by their ID
*/
String[] referencedConfigs() default {};
2023-07-18 17:23:40 +02:00
/**
* @return A class for modifying the config with the ConfigBuilder API. Must implement the static method {@code CategoryBuilder tweak(CategoryBuilder builder)}
*/
Class<?> tweaker() default void.class;
2022-03-30 23:08:51 +02:00
}