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

com.github.czyzby.autumn.annotation.Initiate Maven / Gradle / Ivy

There is a newer version: 1.9.1.9.6
Show newest version
package com.github.czyzby.autumn.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/** Marks the annotated method to be invoked after context is fully built. Allows to sort methods by priority, honoring
 * it among all components. Annotated methods' parameters will be provided by the context (either existing components or
 * instances provided by dependency providers. Methods with higher priority execute first.
 *
 * @author MJ
 * @see Provider */
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Initiate {
    /** @return priority of the defined method. Priority is honored among all components, and not only class scoped -
     *         when multiple classes have initiation methods, their invocations will be globally sorted by priorities.
     *         Methods with higher priority execute first. */
    int priority() default 0;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy