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

com.kaka.notice.annotation.Handler Maven / Gradle / Ivy

package com.kaka.notice.annotation;

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

/**
 * 核心事件通知框架中的控制器(业务处理器){@link com.kaka.notice.Command}标注类型
 *
 * @author zkpursuit
 */
@Documented
@Repeatable(Handlers.class)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Handler {

    /**
     * 命令号,异步事件时相同命令号下的{@link com.kaka.notice.Command}亦将根据priority优先级被同步循序执行
     *
     * @return 命令号
     */
    String cmd();

    /**
     * 命令号类型
     *
     * @return 命令号类型
     */
    Class type() default Integer.class;

    /**
     * 池化大小
     *
     * @return {@link com.kaka.notice.Command}对象池数量
     */
    int pooledSize() default -1;

    /**
     * 相同命令号下{@link com.kaka.notice.Command}执行优先级,数字越小,越是最早执行
     *
     * @return 优先级
     */
    int priority() default 0;

    /**
     * 被注册到的目标{@link com.kaka.notice.Facade}唯一名
     *
     * @return {@link com.kaka.notice.Facade}唯一名
     */
    String context() default "";

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy