package com.vci.starter.web.annotation.bus; import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum; import org.springframework.core.annotation.AliasFor; import org.springframework.stereotype.Component; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 数据变化的扩展插件 * @author weidy * @date 2020/2/23 */ @Target({ ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Component public @interface VciChangeDataPlugin { /** * bean的名称 * @return 默认为首写字母小写 */ @AliasFor( annotation = Component.class ) String value() default ""; /** * 要监听的业务类型的名称 * @return 业务类型的名称 */ String[] btmType() default ""; /** * 要监听修改的类型 */ VciChangeDocumentTypeEnum[] changeType() default VciChangeDocumentTypeEnum.ALL; }