// Path: eventbus-annotation/src/main/java/com/shizhefei/eventbus/IEvent.java
// public interface IEvent {
// 
// 
//     /**
//      * 发布事件的时候通过这个参数 过滤接收者，Filter需要定义在IEvent的方法的第一个参数
//      * <pre>
//      * @Event
//      *  public interface IMessageEvent extends IEvent {
//      *      void onReceiverMessage(Filter filter, int messageId, String message);
//      *  }
//      *
//      *  EventBus.post(IMessageEvent.class).onReceiverMessage(Filters.deliver(eventReceiver), 1, "aaaaa");
//      * <pre/>
//      */
//     interface Filter {
//         boolean accept(IEvent receiver);
//     }
// }


import com.shizhefei.eventbus.IEvent;
import com.shizhefei.eventbus.annotation.Event;
package com.shizhefei.eventbusdemo.events;


/**
 * Created by LuckyJayce on 2017/3/22.
 */
@Event
public interface ITestEvent extends IEvent{
    <E extends IEvent & IAccountEventHAHAHAHAHHALLLLL, H> void onTest(E event, H h, int messageId, String message);

    <E extends IEvent & IAccountEventHAHAHAHAHHALLLLL, H> void onTest(E event, H h, int messageId);

    void onTest(String s, int... messageId);

// Path: eventbus-annotation/src/main/java/com/shizhefei/eventbus/IEvent.java
// public interface IEvent {
// 
// 
//     /**
//      * 发布事件的时候通过这个参数 过滤接收者，Filter需要定义在IEvent的方法的第一个参数
//      * <pre>
//      * @Event
//      *  public interface IMessageEvent extends IEvent {
//      *      void onReceiverMessage(Filter filter, int messageId, String message);
//      *  }
//      *
//      *  EventBus.post(IMessageEvent.class).onReceiverMessage(Filters.deliver(eventReceiver), 1, "aaaaa");
//      * <pre/>
//      */
//     interface Filter {
//         boolean accept(IEvent receiver);
//     }
// }


// Path: app/src/main/java/com/shizhefei/eventbusdemo/events/ITestEvent.java
import com.shizhefei.eventbus.IEvent;
import com.shizhefei.eventbus.annotation.Event;

package com.shizhefei.eventbusdemo.events;


/**
 * Created by LuckyJayce on 2017/3/22.
 */
@Event
public interface ITestEvent extends IEvent{
    <E extends IEvent & IAccountEventHAHAHAHAHHALLLLL, H> void onTest(E event, H h, int messageId, String message);

    <E extends IEvent & IAccountEventHAHAHAHAHHALLLLL, H> void onTest(E event, H h, int messageId);

    void onTest(String s, int... messageId);

    void aaa();