001package com.ericlam.mc.eldgui.event;
002
003import com.ericlam.mc.eldgui.view.View;
004import org.bukkit.event.inventory.InventoryInteractEvent;
005
006import java.lang.annotation.ElementType;
007import java.lang.annotation.Retention;
008import java.lang.annotation.RetentionPolicy;
009import java.lang.annotation.Target;
010
011/**
012 * 任意事件請求處理
013 */
014@Target(ElementType.METHOD)
015@Retention(RetentionPolicy.RUNTIME)
016public @interface RequestMapping {
017
018    /**
019     *
020     * @return 指定界面
021     */
022    Class<? extends View<?>> view();
023
024    /**
025     *
026     * @return 指定的界面互動事件
027     */
028    Class<? extends InventoryInteractEvent> event();
029
030    /**
031     *
032     * @return 指定 pattern
033     */
034    char pattern();
035
036    /**
037     *
038     * @return 忽略已取消的事件
039     */
040    boolean ignoreCancelled() default false;
041
042}