package com.sora.util.akatsuki; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Defines a type filter */ @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.CLASS) public @interface TypeFilter { /** * The constraint of the type (eg: List.class will match {@code List * <String>}) */ TypeConstraint type(); /** * The generic parameter constraint of the type (eg: String will match * {@code List<String>}) */ TypeConstraint[]parameters() default {}; }