Package com.rop.sample

Source Code of com.rop.sample.ReservedUserNameInterceptor

/**
* 版权声明:中图一购网络科技有限公司 版权所有 违者必究 2012
* 日    期:12-4-26
*/
package com.rop.sample;

import com.rop.AbstractInterceptor;
import com.rop.RopRequestContext;
import com.rop.sample.response.InterceptorResponse;
import org.springframework.stereotype.Component;

/**
* <pre>
*    该拦截器仅对method为“user.add”进行拦截,你可以在{@link #isMatch(com.rop.RopRequestContext)}方法中定义拦截器的匹配规则。
*  你可以通过{@link com.rop.RopRequestContext#getServiceMethodDefinition()}获取服务方法的注解信息,通过这些信息进行拦截匹配规则
*  定义。
* </pre>
*
* @author 陈雄华
* @version 1.0
*/

@Component
public class ReservedUserNameInterceptor extends AbstractInterceptor {

    /**
     * 在数据绑定后,服务方法调用前执行该拦截方法
     *
     * @param ropRequestContext
     */
    public void beforeService(RopRequestContext ropRequestContext) {
        System.out.println("beforeService ...");

        if ("jhonson".equals(ropRequestContext.getParamValue("userName"))) {
            InterceptorResponse response = new InterceptorResponse();
            response.setTestField("the userName can't be jhonson!");
            //设置了RopResponse后,后续的服务将不执行,直接返回这个RopResponse响应
            ropRequestContext.setRopResponse(response);
        }
    }

    /**
     * 在服务执行完成后,响应返回前执行该拦截方法
     *
     * @param ropRequestContext
     */

    public void beforeResponse(RopRequestContext ropRequestContext) {
        System.out.println("beforeResponse ...");
    }

    /**
     * 对method为user.add的方法进行拦截,你可以通过methodContext中的信息制定拦截方案
     *
     * @param ropRequestContext
     * @return
     */

    public boolean isMatch(RopRequestContext ropRequestContext) {
        return "user.add".equals(ropRequestContext.getMethod());
    }
}
TOP

Related Classes of com.rop.sample.ReservedUserNameInterceptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.