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

xyz.block.ftl.Subscription Maven / Gradle / Ivy

package xyz.block.ftl;

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

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
public @interface Subscription {
    /**
     * @return The module of the topic to subscribe to, if empty then the topic is assumed to be in the current module.
     */
    String module() default "";

    /**
     *
     * @return The name of the topic to subscribe to. Cannot be used in conjunction with {@link #topicClass()}.
     */
    String topic() default "";

    /**
     *
     * @return The subscription name
     */
    String name();

    /**
     * The class of the topic to subscribe to, which can be used in place of directly specifying the topic name and module.
     */
    Class topicClass() default Topic.class;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy