Annotation Interface Config


@Target(TYPE) @Retention(RUNTIME) @Documented public @interface Config
This annotation, if applied to a class, marks it as a configuration schema part. Annotation processor generates several classes for each configuration schema part:
  • Config - Represents configuration itself, provides API to init, change and view it. Extends DynamicConfiguration
  • Change - changes config tree
  • View - immutable object to view config tree
Here is how to create a configuration schema part:
 @Config
 public class SubConfigurationSchema {

     @Value
      public String foo;

     @Value
      public boolean bar;

     @ConfigValue
      public SomeOtherConfiguration someOther;
 }

The main difference between @ConfigurationRoot and @Config is that the former marks schema root, while the latter is for marking non-root parts of the schema.

See Also: