uk.autores.Keys Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of annotations Show documentation
Show all versions of annotations Show documentation
Annotation driven library for handling embedded resources
// Copyright 2024 https://github.com/autores-uk/autores/blob/main/LICENSE.txt
// SPDX-License-Identifier: Apache-2.0
package uk.autores;
import uk.autores.handling.GenerateConstantsFromProperties;
import uk.autores.naming.IdiomaticNamer;
import uk.autores.repeat.RepeatableKeys;
import java.lang.annotation.*;
/**
* Annotation for {@link GenerateConstantsFromProperties}.
*
*
* // EXAMPLE ANNOTATION
* // she-wolf=Cinco lobitos tiene la loba
* @Keys("CincoLobitos.properties")
*
*
* // EXAMPLE CODE
* // "she-wolf"
* String key = CincoLobitos.SHE_WOLF;
*
*/
@Target({ElementType.PACKAGE, ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
@Repeatable(RepeatableKeys.class)
public @interface Keys {
/**
* Resource files.
* @return resources
*/
String[] value() default {};
/**
* Common processing instructions.
* @return instruction annotation
*/
Processing processing() default @Processing(namer = IdiomaticNamer.class);
/**
* Generated code visibility.
* @return visibility
*/
boolean isPublic() default false;
}