All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.marcoeckstein.autoannotator.api.Annotations.kt Maven / Gradle / Ivy

The newest version!
package com.marcoeckstein.autoannotator.api

/**
 * This annotation is used to explicitly exclude classes and fields from being auto-annotated,
 * even if they would otherwise be included according to the configuration.
 */
@Target(AnnotationTarget.CLASS, AnnotationTarget.FIELD)
annotation class AutoAnnotatorIgnored

/**
 * This annotation is used to explicitly include classes in being auto-annotated.
 * To be discovered, these classes must still reside in packages that are configured to be auto-annotated.
 *
 * @param fieldsAreNonnullByDefault Treat all fields as if they were annotated with a non-null annotation.
 *                                  Default: `false`
 */
@Target(AnnotationTarget.CLASS)
annotation class AutoAnnotated(val fieldsAreNonnullByDefault: Boolean = false)

/**
 * Annotation for the single static parameterless method in one of your classes that returns an
 * instance of [AutoAnnotatorConfig].
 */
@Target(AnnotationTarget.FUNCTION)
annotation class AutoAnnotatorConfigSource




© 2015 - 2024 Weber Informatics LLC | Privacy Policy