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
|
|
|
|
2022-08-27 20:17:13 +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
|
|
|
|
*/
|
2022-08-26 20:51:00 +02:00
|
|
|
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
|
|
|
}
|