// Path: mq-aliyun-consumer-spring-boot-starter/src/main/java/com/github/mq/consumer/models/Result.java
// public class Result<T> {
//     private T result;
//     private Action action;
// 
//     public Result(T result) {
//         this.result = result;
//     }
// 
//     public Result(Action action) {
//         this.action = action;
//     }
// 
//     public Object getResult() {
//         return result;
//     }
// 
//     public Action getAction() {
//         return action;
//     }
// }


import com.aliyun.openservices.ons.api.Message;
import com.github.mq.consumer.models.Result;
import java.lang.annotation.Annotation;
package com.github.mq.consumer.parms;



/**
 * Created by wangziqing on 17/7/26.
 */
public class ArgumentExtractorWrapper {
    private ArgumentExtractor<?> argumentExtractor;
    private Annotation annotation;
    private Class<?> parameterClass;


// Path: mq-aliyun-consumer-spring-boot-starter/src/main/java/com/github/mq/consumer/models/Result.java
// public class Result<T> {
//     private T result;
//     private Action action;
// 
//     public Result(T result) {
//         this.result = result;
//     }
// 
//     public Result(Action action) {
//         this.action = action;
//     }
// 
//     public Object getResult() {
//         return result;
//     }
// 
//     public Action getAction() {
//         return action;
//     }
// }


// Path: mq-aliyun-consumer-spring-boot-starter/src/main/java/com/github/mq/consumer/parms/ArgumentExtractorWrapper.java
import com.aliyun.openservices.ons.api.Message;
import com.github.mq.consumer.models.Result;
import java.lang.annotation.Annotation;

package com.github.mq.consumer.parms;



/**
 * Created by wangziqing on 17/7/26.
 */
public class ArgumentExtractorWrapper {
    private ArgumentExtractor<?> argumentExtractor;
    private Annotation annotation;
    private Class<?> parameterClass;


    public Result excuteExtract(Message message){